Python语言提供了内置的CSV模块,可以非常方便地读写CSV格式的文件。其中,csv.writer()和csv.DictWriter()是两种常用的方法,下面我们来详细讲解它们的基本使用。
csv.writer()方法
csv.writer()方法可以将数据以CSV格式写入文件中。它的基本语法如下:
import csv
with open('file.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['列1', '列2', '列3']) # 写入表头
writer.writerow(['数据1', '数据2', '数据3']) # 写入一行数据
writer.writerow(['数据4', '数据5', '数据6']) # 写入另一行数据
上面的代码中,我们先打开一个文件,然后创建一个csv.writer对象。接下来,调用writerow()方法可以将每一行数据写入文件中。需要注意的是,写入内容时要保证每一行的数据数量与列数一致。
除了使用writerow()方法写入数据外,csv.writer()还提供了writerows()方法可以一次性写入多行数据。其语法如下:
import csv
with open('file.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['列1', '列2', '列3']) # 写入表头
data = [['数据1', '数据2', '数据3'], ['数据4', '数据5', '数据6']]
writer.writerows(data) # 一次性写入多行数据
这里我们使用一个二维列表data存放所有数据,然后调用writerows()方法写入文件中。
csv.DictWriter()方法
csv.DictWriter()方法可以将字典中的数据以CSV格式写入文件中。它的用法与csv.writer()类似,但需要先定义表头。它的基本语法如下:
import csv
with open('file.csv', 'w', newline='') as f:
fieldnames = ['列1', '列2', '列3'] # 定义表头
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader() # 写入表头
writer.writerow({'列1': '数据1', '列2': '数据2', '列3': '数据3'}) # 写入一行数据
writer.writerow({'列1': '数据4', '列2': '数据5', '列3': '数据6'}) # 写入另一行数据
首先,我们定义一个列表fieldnames作为表头。接下来,创建一个csv.DictWriter对象时要指定fieldnames参数,然后调用writeheader()方法写入表头。最后,使用writerow()方法将每一行数据写入文件。需要注意的是,字典中的键名必须与列表fieldnames中的列名一一对应。
除了使用writerow()方法写入数据外,csv.DictWriter()还提供了writerows()方法可以一次性写入多行数据,用法类似csv.writer()的方法。下面是一个示例代码:
import csv
with open('file.csv', 'w', newline='') as f:
fieldnames = ['列1', '列2', '列3'] # 定义表头
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader() # 写入表头
data = [{'列1': '数据1', '列2': '数据2', '列3': '数据3'},
{'列1': '数据4', '列2': '数据5', '列3': '数据6'}]
writer.writerows(data) # 一次性写入多行数据
这里我们使用一个列表data存放所有数据,每个元素是一个字典。然后调用writerows()方法一次性写入文件中。
以上就是csv.writer()和csv.DictWriter()方法的基本使用,希望对你有帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用 - Python技术站