csvwriter.writerow 怎么写入多个列表
时间: 2023-12-13 11:04:06 浏览: 118
如果你想同时写入多个列表,可以通过使用zip()函数将多个列表打包成元组的列表,然后使用csvwriter.writerow()函数将每个元组写入CSV文件中。下面是一个示例代码:
```python
import csv
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [4.5, 6.7, 8.9]
with open('output.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
for row in zip(list1, list2, list3):
csvwriter.writerow(row)
```
在上面的代码中,我们使用了zip()函数将三个列表打包成元组的列表,然后使用csvwriter.writerow()函数将每个元组写入CSV文件中。注意,我们在打开CSV文件时使用了`newline=''`参数,这是为了避免在Windows系统下出现多余的空行。
相关问题
csvwriter.writerow()用法
csvwriter.writerow()是Python中csv模块中的一个函数,用于将一行数据写入CSV文件中。它的参数是一个列表或元组,其中每个元素代表一列数据。该函数会自动将数据转换为CSV格式,并将其写入文件中。如果需要写入多行数据,可以多次调用该函数。
import csv import pandas as pd import random with open('data.csv','a',encoding='utf-8') as csvfile: fieldnames = ['产品','1','2','3','4','5','6','7','8','9','10','11','12'] writer=csv.DictWriter(csvfile,fieldnames=fieldnames) good=["毛巾","香皂","洗发水","护发素","口杯","梳子","水桶","洗衣粉","牙刷","口罩"] for x in range(0,10): product=good[x] a=random.randint(10,70) b=random.randint(10,70) c=random.randint(10,70) d=random.randint(10,70) e=random.randint(10,70) f=random.randint(10,70) g=random.randint(10,70) h=random.randint(10,70) i=random.randint(10,70) j=random.randint(10,70) k=random.randint(10,70) l=random.randint(10,70) data=[{'产品':product,'1':a,'2':b,'3':c,'4':d,'5':e,'6':f,'7':g,'8':h,'9':i,'10':j,'11':k,'12':l}] with open('data.csv', 'w', newline='') as csvfile: for row in data: csvwriter = csv.writer(csvfile) csvwriter.writerow(row) df=pd.DataFrame(data) df.to_csv('data.csv',index=False) print(df)
这段代码是用来生成随机数据,并将数据写入到一个CSV文件中,然后用Pandas将数据读取出来,并打印出来。具体来说,代码中首先定义了需要生成的产品名称和各个月份的销售量字段名,然后使用随机函数生成每个产品在每个月份的销售量,将数据写入到CSV文件中。接着使用Pandas将数据读取出来,并将数据打印出来。需要注意的是,该代码中写入CSV文件的方式是采用追加的方式打开文件,因此如果多次执行该代码,将会在同一个CSV文件中追加新的数据。
阅读全文