python 如何讀、寫、解析CSV文件
您知道將表格數(shù)據(jù)存儲到純文本文件背后的機制是什么嗎?答案是CSV(逗號分隔值)文件,該文件允許將數(shù)據(jù)轉(zhuǎn)換為純文本格式。在這篇文章中關(guān)于“在Python如何閱讀CSV文件”中,我們將學(xué)習(xí)如何讀,寫和解析的CSV文件的Python。
將詳細討論以下方面:
- 什么是CSV文件及其用途?
- 為什么使用CSV文件格式?
- Python CSV模塊
CSV模塊功能
- 在Python中執(zhí)行寫入,讀取CSV文件的操作
- 讓我們開始吧。
什么是CSV文件及其用途?
CSV(逗號分隔值)是一種純文本文件格式,用于存儲表格數(shù)據(jù)(例如電子表格或數(shù)據(jù)庫)。它本質(zhì)上存儲的表格數(shù)據(jù)包括數(shù)字和純文本。大多數(shù)在線服務(wù)使用戶可以自由地將網(wǎng)站中的數(shù)據(jù)導(dǎo)出為CSV文件格式。CSV文件通常會在Excel中打開,幾乎所有數(shù)據(jù)庫都具有不同的特定工具以允許導(dǎo)入相同的文件。
文件的每一行都稱為記錄。每個記錄由用逗號分隔 的字段組成,這些字段也稱為“定界符”,這是默認定界符,其他記錄包括pipe(|),分號(;)。下面給出的是一個普通CSV文件的結(jié)構(gòu),以逗號分隔,我正在使用一個泰坦尼克號CSV文件。
結(jié)構(gòu)
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
繼續(xù)說說使用CSV文件格式的原因。
為什么使用CSV文件格式?
CSV是純文本文件,它使數(shù)據(jù)交換更容易,也更易于導(dǎo)入到電子表格或數(shù)據(jù)庫存儲中。例如:您可能希望將某個統(tǒng)計分析的數(shù)據(jù)導(dǎo)出到CSV文件,然后將其導(dǎo)入電子表格以進行進一步分析??傮w而言,它使用戶可以通過編程輕松地體驗工作。任何支持文本文件或字符串操作的語言(例如Python)都可以直接使用CSV文件。
繼續(xù)前進,讓我們看看Python如何原生使用CSV。
Python CSV模塊
Python使用的CSV軟件包是標準庫的一部分,因此您無需安裝它。
import csv
現(xiàn)在,讓我向您展示不同的CSV功能。
CSV模塊功能
在CSV模塊下,您可以找到以下功能:
讓我們繼續(xù)前進,從Python CSV文件上不同操作的編碼角度來看。
Python中CSV文件的操作
加載CSV文件后,您可以執(zhí)行多種操作。我將在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)
輸出:
在這里,從輸出中可以看到,我已經(jīng)使用了Titanic CSV File。并且所有字段都用逗號分隔,文件被讀入Python。
繼續(xù)前進,讓我們看看如何寫入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:
現(xiàn)在,這種使用讀寫器方法處理CSV文件的方法是最常見的方法之一。讓我們繼續(xù)前進,看看如何使用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)
輸出:
從輸出中可以看到,字段已被替換,它們現(xiàn)在充當字典的“鍵”。
讓我們看看如何將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文件”的結(jié)尾。我希望您對與CSV相關(guān)的所有概念,如何讀寫它,如何將CSV作為字典進行讀寫以及如何將CSV作為熊貓進行閱讀都一目了然。
確保盡可能多地練習(xí)并恢復(fù)經(jīng)驗。
以上就是python 如何讀、寫、解析CSV文件的詳細內(nèi)容,更多關(guān)于python 讀寫解析CSV文件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python?pandas刪除指定行/列數(shù)據(jù)的方法實例
這篇文章主要給大家介紹了關(guān)于Python?pandas刪除指定行/列數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-01-01python中的try except與R語言中的tryCatch異常解決
這篇文章主要為大家介紹了python中的try except與R語言中的tryCatch異常解決的方式及分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11python時間序列數(shù)據(jù)轉(zhuǎn)為timestamp格式的方法
這篇文章主要介紹了python時間序列數(shù)據(jù)轉(zhuǎn)為timestamp格式的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08在Python的Flask框架下使用sqlalchemy庫的簡單教程
這篇文章主要介紹了在Python的Flask框架下使用sqlalchemy庫的簡單教程,用來簡潔地連接與操作數(shù)據(jù)庫,需要的朋友可以參考下2015-04-04