一、writerow方法基礎
writer.writerow是Python內置csv模塊中的一個用於寫入csv文件的方法。它的作用是將一個列表或元組中的數據寫入到文件中,並自動將數據以csv格式進行存儲。
import csv # 定義csv文件名稱 file_name = 'example.csv' # 定義csv文件打開方式 mode = 'w' # 創建csv寫入對象 with open(file_name, mode, newline='', encoding='utf-8') as csv_file: # 定義csv寫入對象 csv_writer = csv.writer(csv_file) # 將數據寫入到文件中 csv_writer.writerow(['Name', 'Age', 'Score']) csv_writer.writerow(['張三', 20, 98]) csv_writer.writerow(['李四', 22, 95])
以上代碼實現了將一個具有三列數據(姓名、年齡、成績)的csv文件生成,其中包括兩行數據。
二、writerow方法中的參數和用法
writer.writerow方法可以傳入多個參數,可以是元組、列表或包含多個元組或列表的可迭代對象等。以下給出writer.writerow方法中的幾種常見參數類型並簡要介紹它們的使用。
1. 以列表為參數
使用列表作為參數,該方法將列表中的元素作為csv文件中的一行數據寫入到文件中。這裡需要注意的是,傳遞的列表中的元素必須是可迭代的類型(List、Tuple等)。示例代碼如下:
import csv # 定義csv文件名稱 file_name = 'example1.csv' # 定義csv文件打開方式 mode = 'w' # 創建csv寫入對象 with open(file_name, mode, newline='', encoding='utf-8') as csv_file: # 定義csv寫入對象 csv_writer = csv.writer(csv_file) # 將數據寫入到文件中 row1 = ['Name', 'Age', 'Score'] row2 = ['張三', 20, 98] row3 = ['李四', 22, 95] csv_writer.writerow(row1) csv_writer.writerow(row2) csv_writer.writerow(row3)
2. 以元組為參數
與使用列表作為參數一樣,使用元組作為參數,將元組中的元素作為csv行寫入到文件中。示例代碼如下:
import csv # 定義csv文件名稱 file_name = 'example2.csv' # 定義csv文件打開方式 mode = 'w' # 創建csv寫入對象 with open(file_name, mode, newline='', encoding='utf-8') as csv_file: # 定義csv寫入對象 csv_writer = csv.writer(csv_file) # 將數據寫入到文件中 row1 = ('Name', 'Age', 'Score') row2 = ('張三', 20, 98) row3 = ('李四', 22, 95) csv_writer.writerow(row1) csv_writer.writerow(row2) csv_writer.writerow(row3)
3. 使用可迭代對象
可迭代對象可以是包含多個元組或列表的容器,如列表、元組、生成器等。該方法將可迭代對象中的每個元素作為一個csv行寫入到文件中。示例代碼如下:
import csv # 定義csv文件名稱 file_name = 'example3.csv' # 定義csv文件打開方式 mode = 'w' # 創建csv寫入對象 with open(file_name, mode, newline='', encoding='utf-8') as csv_file: # 定義csv寫入對象 csv_writer = csv.writer(csv_file) # 將數據寫入到文件中 data = [ ['Name', 'Age', 'Score'], ['張三', 20, 98], ['李四', 22, 95] ] csv_writer.writerows(data)
三、writerow方法的注意事項
writer.writerow方法雖然方便了我們對csv文件的讀寫,但在使用時也需要注意一些細節問題。
1. 中文字元編碼問題
在Python中,csv文件的編碼格式默認為’utf-8’,但在有些情況下,中文字元可能會出現亂碼現象。解決方法是在文件打開時指定編碼格式,如:
import csv # 定義csv文件名稱 file_name = 'example4.csv' # 定義csv文件打開方式 mode = 'w' # 創建csv寫入對象 with open(file_name, mode, newline='', encoding='gbk') as csv_file: # 定義csv寫入對象 csv_writer = csv.writer(csv_file) # 將數據寫入到文件中 row1 = ['姓名', '年齡', '成績'] row2 = ['張三', 20, 98] row3 = ['李四', 22, 95] csv_writer.writerow(row1) csv_writer.writerow(row2) csv_writer.writerow(row3)
2. 避免空行出現
當使用writerow方法寫入多行數據時,有可能出現空行的情況。這是因為writerow方法默認在每次寫入數據後會自動添加一個空行。避免空行出現的方法是在文件打開時使用newline=”參數。示例代碼如下:
import csv # 定義csv文件名稱 file_name = 'example5.csv' # 定義csv文件打開方式 mode = 'w' # 創建csv寫入對象 with open(file_name, mode, newline='', encoding='utf-8') as csv_file: # 定義csv寫入對象 csv_writer = csv.writer(csv_file) # 將數據寫入到文件中 row1 = ['Name', 'Age', 'Score'] row2 = ['張三', 20, 98] row3 = ['李四', 22, 95] csv_writer.writerow(row1) csv_writer.writerow(row2) csv_writer.writerow(row3)
3. 盡量避免出現特殊字元
writer.writerow方法是將數據以csv格式寫入到文件中,其中csv格式中使用逗號分隔數據項。因此,如果被寫入的數據中存在逗號、引號、換行符等特殊字元,將會影響到數據的正確讀取。
四、總結
本文主要介紹了Python內置csv模塊中的writer.writerow方法的使用方法和注意事項。該方法非常方便我們對csv文件進行讀寫操作,在實際應用中也非常常見。希望本文能夠為大家提供到幫助。
原創文章,作者:ERWRE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372805.html