Python如何讀寫CSV文件
CSV文件是一種純文本文件,它使用特定的結構來排列表格數據。
CSV文件內容看起來應該是下面這樣的:
column 1 name,column 2 name, column 3 namefirst row data 1,first row data 2,first row data 3second row data 1,second row data 2,second row data 3...
每段數據是如何用逗號分隔的。通常,第一行標識每個數據塊——換句話說,數據列的名稱。之后的每一行都是實際數據,僅受文件大小限制。
CSV文件通常由處理大量數據的程序創建。它們是一種從電子表格和數據庫導出數據以及導入或在其他程序中使用數據的方便方法。例如,您可以將數據挖掘程序的結果導出到CSV文件中,然后將其導入到電子表格中,以分析數據、為演示生成圖表或準備發布報告。
CSV文件非常容易通過編程處理。任何支持文本文件輸入和字符串操作的語言(如Python)都可以直接使用CSV文件。
讀取CSV文件內容
在Python中,使用csv庫來讀取CSV文件內容。在讀文件之前,先創建一個a.csv的文件,內容是下面這樣:
名字,部門,月份John Smith,Accounting,NovemberErica Meyers,IT,March
文件創建完成后,開始編寫讀取文件內容的程序:
import csvwith open(’a.csv’) as csv_file: csv_reader = csv.reader(csv_file,delimiter=’,’) line_count = 0 for row in csv_reader: if line_count == 0: print(f’Column names are {', '.join(row)}’) line_count += 1 else: print(f’t{row[0]} works in the {row[1]} department, and was born in {row[2]}.’) line_count += 1 print(f’Processed {line_count} lines.’)
寫入數據到CSV文件
上面編寫了讀取內容的程序,下面繼續編寫一個寫文件的程序。我們寫到b.csv文件中。
import csvwith open(’b.csv’, mode=’w’) as employee_file: employee_writer = csv.writer(employee_file, delimiter=’,’, quotechar=’'’, quoting=csv.QUOTE_MINIMAL) employee_writer.writerow([’John Smith’, ’Accounting’, ’November’]) employee_writer.writerow([’Erica Meyers’, ’IT’, ’March’])
如果你感覺使用csv庫讀寫效率比較地下,或者編寫的代碼太多。下面我介紹一種更高效的方法。
用pandas讀csv
假設我們有一個c.csv文件,具體內容如下:
Name,Hire Date,Salary,Sick Days remainingGraham Chapman,03/15/14,50000.00,10John Cleese,06/01/15,65000.00,8Eric Idle,05/12/14,45000.00,10Terry Jones,11/01/13,70000.00,3Terry Gilliam,08/12/14,48000.00,7Michael Palin,05/23/13,66000.00,8
用pandas讀取csv:
import pandasdf = pandas.read_csv(’hrdata.csv’)print(df)# 輸出的df# Name Hire Date Salary Sick Days remaining# 0 Graham Chapman 03/15/14 50000.0 10# 1 John Cleese 06/01/15 65000.0 8# 2 Eric Idle 05/12/14 45000.0 10# 3 Terry Jones 11/01/13 70000.0 3# 4 Terry Gilliam 08/12/14 48000.0 7# 5 Michael Palin 05/23/13 66000.0 8
用pandas寫csv
讓我們用新的列名將數據寫入一個新的CSV文件:
import pandasdf = pandas.read_csv(’hrdata.csv’, index_col=’Employee’, parse_dates=[’Hired’], header=0, names=[’Employee’, ’Hired’, ’Salary’, ’Sick Days’])df.to_csv(’d.csv’)# d.csv文件內容# Employee,Hired,Salary,Sick Days# Graham Chapman,2014-03-15,50000.0,10# John Cleese,2015-06-01,65000.0,8# Eric Idle,2014-05-12,45000.0,10# Terry Jones,2013-11-01,70000.0,3# Terry Gilliam,2014-08-12,48000.0,7# Michael Palin,2013-05-23,66000.0,8
如果你了解讀取CSV文件的基礎知識,那么當您需要處理導入數據時,就不會手足無措。基本的CSV Python庫可以輕松地處理大多數CSV讀取、處理和編寫任務。如果你有很多數據要讀取和處理,panda庫還提供了快速和簡單的CSV處理功能。
以上就是Python如何讀寫CSV文件的詳細內容,更多關于Python讀寫CSV文件的資料請關注好吧啦網其它相關文章!
相關文章:
