摘要:在這篇文章中關於「在Python如何閱讀CSV文件」中,咱們將學習如何讀,寫和解析的CSV文件的Python。
您知道將表格數據存儲到純文本文件背後的機制是什麼嗎?答案是CSV(逗號分隔值)文件,該文件容許將數據轉換爲純文本格式。在這篇文章中關於「在Python如何閱讀CSV文件」中,咱們將學習如何讀,寫和解析的CSV文件的Python。python
將詳細討論如下方面:數據庫
-
- 什麼是CSV文件及其用途?
- 爲何使用CSV文件格式?
- Python CSV模塊
- CSV模塊功能
- 在Python中執行寫入,讀取CSV文件的操做
讓咱們開始吧。編程
什麼是CSV文件及其用途?
CSV(逗號分隔值)是一種純文本文件格式,用於存儲表格數據(例如電子表格或數據庫)。它本質上存儲的表格數據包括數字和純文本。大多數在線服務使用戶能夠自由地將網站中的數據導出爲CSV文件格式。CSV文件一般會在Excel中打開,幾乎全部數據庫都具備不一樣的特定工具以容許導入相同的文件。工具
文件的每一行都稱爲記錄。每一個記錄由用逗號分隔 的字段組成,這些字段也稱爲「定界符」,這是默認定界符,其餘記錄包括pipe(|),分號(;)。下面給出的是一個普通CSV文件的結構,以逗號分隔,我正在使用一個泰坦尼克號CSV文件。oop
結構
Passenger,Id,Survived,Pclass,Name,Sex.Age 1,0,3 Braund, Mr. Owen Harris ,male, 22 2,1,1 Cumings, Mrs. John Bradley (Florence Briggs Thayer), female,38 3,1,3 Heikkinen, Miss. Laina ,female, 26 4,1,1 Futrelle, Mrs. Jacques Heath (Lily May Peel),female,35
繼續說說使用CSV文件格式的緣由。學習
爲何使用CSV文件格式?
CSV是純文本文件,它使數據交換更容易,也更易於導入到電子表格或數據庫存儲中。例如:您可能但願將某個統計分析的數據導出到CSV文件,而後將其導入電子表格以進行進一步分析。整體而言,它使用戶能夠經過編程輕鬆地體驗工做。任何支持文本文件或字符串操做的語言(例如Python)均可以直接使用CSV文件。網站
繼續前進,讓咱們看看Python如何原生使用CSV。編碼
Python CSV模塊
Python使用的CSV軟件包是標準庫的一部分,所以您無需安裝它。url
import csv
如今,讓我向您展現不一樣的CSV功能。spa
CSV模塊功能
在CSV模塊下,您能夠找到如下功能:
讓咱們繼續前進,從Python CSV文件上不一樣操做的編碼角度來看。
Python中CSV文件的操做
加載CSV文件後,您能夠執行多種操做。我將在Python中顯示對CSV文件的讀取和寫入操做。
在Python中讀取CSV文件:
import csv with open('Titanic.csv','r') as csv_file: #Opens the file in read mode csv_reader = csv.reader(csv_file) # Making use of reader method for reading the file for line in csv_reader: #Iterate through the loop to read line by line print(line)
輸出:
在這裏,從輸出中能夠看到,我已經使用了Titanic CSV File。而且全部字段都用逗號分隔,文件被讀入Python。
繼續前進,讓咱們看看如何寫入CSV文件。
用Python寫入CSV文件:
import csv with open('Titanic.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file) with open('new_Titanic.csv', 'w') as new_file: # Open a new file named 'new_titanic.csv' under write mode csv_writer = csv.writer(new_file, delimiter=';') #making use of write method for line in csv_reader: # for each file in csv_reader csv_writer.writerow(line) #writing out to a new file from each line of the original file
out:
如今,這種使用讀寫器方法處理CSV文件的方法是最多見的方法之一。讓咱們繼續前進,看看如何使用python字典來作一樣的事情。
讀取CSV文件做爲字典:
import csv with open('Titanic.csv','r') as csv_file: #Open the file in read mode csv_reader = csv.DictReader(csv_file) #use dictreader method to reade the file in dictionary for line in csv_reader: #Iterate through the loop to read line by line print(line)
輸出:
從輸出中能夠看到,字段已被替換,它們如今充當字典的「鍵」。
讓咱們看看如何將CSV文件做爲字典寫入。
做爲字典寫入CSV文件
import csv mydict = [{'Passenger':'1', 'Id':'0', 'Survived':'3'}, #key-value pairs as dictionary obj {'Passenger':'2', 'Id':'1', 'Survived':'1'}, {'Passenger':'3', 'Id':'1', 'Survived':'3'}] fields = ['Passenger', 'Id', 'Survived'] #field names filename = 'new_Titanic.csv' #name of csv file with open('new_Titanic.csv', 'w')as new_csv_file: #open a new file 'new_titanic,csv' under write mode writer = csv.DictWriter(new_csv_file, fieldnames=fields) writer.writeheader() #writing the headers(field names) writer.writerows(mydict) #writing data rows
輸出:
讓咱們看看如何在python中將CSV文件讀取爲熊貓。
以熊貓格式讀取CSV文件:
import pandas #install pandas package result = pandas.read_csv('Titanic.csv') #read the csv file print(result) # print result
輸出:
這使咱們到文章「如何在Python中讀取CSV文件」的結尾。我但願您對與CSV相關的全部概念,如何讀寫它,如何將CSV做爲字典進行讀寫以及如何將CSV做爲熊貓進行閱讀都一目瞭然。
確保儘量多地練習並恢復經驗。
本文分享自華爲雲社區《如何在Python中讀取CSV文件?》,原文做者:Yuchuan 。