csv.writerow()一般用法
csv.writerow() 是 Python 中 csv 模块提供的一个方法,用于将一行数据写入 CSV 文件。
通常,需要先创建一个 csv.writer 对象,然后使用这个对象的 writerow() 方法来写入数据。
import csv
# 假设我们有一个包含多行数据的列表
data = [
['Name', 'Age', 'Country'],
['Alice', '25', 'USA'],
['Bob', '30', 'Canada'],
['Charlie', '35', 'UK']
]
# 打开一个文件用于写入,如果文件已存在,它将被覆盖
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
# 遍历数据列表,并使用 writerow() 写入每一行
for row in data:
writer.writerow(row)
csv.writerow()将list以列的形式写入
由于csv.writerow()
方法接受的是一个可迭代对象(如列表或元组),不能直接传入多个列表并期望它们按列写入。
不过,可以通过zip()函数(或itertools.zip_longest()
如果列表长度可能不同)来将多个列表的元素组合成元组,然后逐个写入CSV。
import os
import csv
from itertools import zip_longest
# 假设这些是您的列表数据
train_width = [1, 2, 3]
train_width = [4, 5, 6]
# ... 以及其他类似的列表 ...
# 文件名和路径
filename = 'result.csv'
# 打开文件以写入CSV数据
with open(filename, 'w', newline='', encoding='utf-8') as f_data:
csv_writer = csv.writer(f_data)
# 写入表头
csv_writer.writerow(['train_width', 'train_width'
# ... 其他表头 ...
])
# 使用zip_longest确保即使列表长度不同也能写入(如果需要的话)
# fillvalue参数用于填充较短的列表,这里使用空字符串或适当的默认值
for row in zip_longest(train_width, train_width
# ... 其他列表 ...
fillvalue=''):
csv_writer.writerow(row)