一、CSV文件簡介
CSV(Comma-Separated Values,逗號分隔值)文件是一種常見的電子表格文件格式,適用於將表格數據導入或導出其他系統。CSV文件中每一行是一條記錄,每個欄位用逗號分隔,因此不同行具有相同的欄位數。
二、Python寫入CSV文件
Python提供了處理CSV文件的庫,其中較常用的是csv庫。在處理CSV文件時,我們可以讀取、寫入或追加文件內容,其中,追加文件內容即是在原文件基礎上新增記錄。
我們可以通過以下代碼來新建或追加CSV文件:
import csv #新建CSV文件 with open('example.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile) writer.writerow(['序號', '姓名', '年齡']) writer.writerow(['1', '張三', '20']) writer.writerow(['2', '李四', '21']) #追加CSV文件 with open('example.csv', 'a', newline='') as csvfile: writer = csv.writer(csvfile) writer.writerow(['3', '王五', '22']) writer.writerow(['4', '趙六', '23'])
以上代碼中,第一個with語句創建CSV文件,其中’w’參數表示寫文件,’newline’參數用於控制換行符的處理;writerow()函數用於寫入行記錄,括弧內為每行的欄位值,多個欄位值以逗號隔開。
第二個with語句追加CSV文件,’a’參數表示追加寫入文件內容,writerow()函數用法與新建CSV文件相同。
三、利用pandas模塊處理CSV文件
另外,我們還可以利用pandas模塊處理CSV文件。pandas是Python中的數據分析庫,可以方便地讀取、寫入和處理各種數據格式,包括CSV文件。
我們可以用以下代碼讀取CSV文件:
import pandas as pd df = pd.read_csv('example.csv') print(df)
以上代碼中,pd.read_csv()函數用於讀取CSV文件,其中的參數為CSV文件的路徑。df為讀取後的數據,可以通過print(df)來查看其內容。
另外,我們可以用如下代碼追加CSV文件:
import pandas as pd df = pd.read_csv('example.csv') df.loc[len(df)] = ['5', '孫七', '24'] df.to_csv('example.csv', index=False)
以上代碼中,df.loc[len(df)]用於新增一行記錄,index=False用於控制輸出文件中是否包含行標籤。
四、利用numpy模塊處理CSV文件
除了pandas模塊外,我們還可以利用numpy模塊處理CSV文件。numpy是Python中科學計算庫,可以方便地進行各種數學計算和數組操作。
我們可以用以下代碼來追加CSV文件:
import numpy as np data = np.array([['5', '孫七', '24'], ['6', '吳八', '25']]) with open('example.csv', 'ab') as f: np.savetxt(f, data, delimiter=',', fmt='%s')
以上代碼中,np.array()函數用於創建一個二維數組,np.savetxt()函數用於將數組保存到CSV文件中,在其中f表示文件對象,delimiter用於設置欄位分隔符,fmt用於設置輸出格式。
五、CSV文件注意事項
在處理CSV文件時需要注意以下幾點:
1. 文件路徑需要正確,否則會報錯。
2. 讀取CSV文件時需指定欄位分隔符,例如逗號、分號等。
3. CSV文件中可能存在中文字元或符號,需設置文件編碼以免出現亂碼。
4. 寫入CSV文件時需確保每個欄位的值都為字元串類型。
5. CSV文件中的換行符需注意,在Python 2.x中用「\r\n」表示,而在Python 3.x中用「\n」表示。
六、總結
本文介紹了Python追加寫入CSV文件的多種方法,其中csv、pandas和numpy模塊均提供了處理CSV文件的函數。在使用其中任意一個模塊時,都需要注意上述CSV文件處理的相關注意事項,以免出現錯誤。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/197935.html