CSV是一種常見的數據格式,它可以由不同的程序讀取和寫入。在Python中,使用csv模塊可以方便地處理CSV文件。
首先,我們需要導入csv模塊:
import csv
要讀取CSV文件中的內容,可以使用以下代碼:
with open('file.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
上述代碼中,我們使用了Python的with語句,這可以確保在讀取完文件后,文件會被自動關閉。另外,我們定義了一個csv.reader對象,并使用它遍歷文件中的每一行。
如果我們需要將數據寫入CSV文件,可以使用以下代碼:
with open('file.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerow(['Name', 'Age', 'Country']) writer.writerow(['John', 30, 'USA']) writer.writerow(['Lisa', 25, 'Canada'])
上述代碼中,我們定義了一個csv.writer對象,并使用它將數據寫入CSV文件。還可以使用writerows()方法將多行數據寫入CSV文件。
在處理CSV文件時,有時會遇到需要調整列寬或格式的情況。可以使用csv模塊的以下函數來實現:
- csv.register_dialect(): 注冊一個方言,以自定義CSV格式
- csv.Dialect.lineterminator: 指定CSV文件中行結束的字符,默認為'\r\n'
- csv.Dialect.delimiter: 指定CSV文件中數據分隔符,默認為','
- csv.Dialect.quotechar: 指定CSV文件中字符引用符,默認為'"'
- csv.Dialect.quoting: 指定CSV文件中引用方式
如果我們需要使用自定義的格式讀寫CSV文件,可以先注冊一個方言:
csv.register_dialect('myDialect', delimiter=';', quotechar='"', quoting=csv.QUOTE_ALL)
上述代碼中,我們注冊了一個名為'myDialect'的方言,指定了CSV文件中的數據分隔符為';',字符引用符為'"',并使用了引用方式csv.QUOTE_ALL,這表示所有數據都會被引用。
然后,在讀寫CSV文件時,使用此方言即可:
with open('file.csv', 'r') as file: reader = csv.reader(file, dialect='myDialect') for row in reader: print(row) with open('file.csv', 'w', newline='') as file: writer = csv.writer(file, dialect='myDialect') writer.writerow(['Name', 'Age', 'Country']) writer.writerow(['John', 30, 'USA']) writer.writerow(['Lisa', 25, 'Canada'])
上述代碼中,我們在使用csv.reader()和csv.writer()時,都指定了方言為'myDialect'。