我在用我想要的方式编写csv文件时遇到了问题。
说明:
我有三张单子:
list1=[1,2,3]
list2=['dd1','dd2','dd3']
list3=['vi1','vi2','vi3']
我想写我的csv文件如下:
Column 1| Column 2| Column 3
Row 1 1| dd1| vi1
Row 2 2| dd2| vi2
Row 3 3| dd3| vi3
所以我使用zip
方法如下:
csvd = zip(list1, list2, list3)
拉链拉好后我有:
csvd = [(1, 'dd1', 'vi1'), (2, 'dd2', 'vi2'), (3, 'dd3', 'vi3')]
接下来我使用csv writer,如下所示:
with open('path\\test.csv', 'w') as f:
writer = csv.writer(f, delimiter='\t')
writer.writerows(csvd)
这是我的输出: csv
首先,在第一列中有每个touple(我希望touple的每个元素都在不同的列中)。 第二个问题是nexts touples之间有空行。
我试着用writerow
和for loop
来解决我的问题,但这是我第二个问题的唯一解决方案,用这个方法我仍然得到了第一列中的所有问题。
试试这个:
不确定空白行,但可能是因为行终止符。显式地将其设置为“\n”可能会有帮助。
关于Excel中的列问题:Excel默认使用“;”作为列分隔符。可以在Excel中更改,但也可以更改用于列分隔符的字符。
此writer调用将更改行终止符和列分隔符:
看看有没有帮助。
当您向CSV写入时,只需循环行和列:
上面将提供一个csv文件,其中包含:
编辑:
不敢相信我没有注意到,但是你的空白是因为你已经将写入程序设置为制表符分隔。只需将原始代码更改为:
对于原始代码,原始输出文件实际上如下所示:
当在excel中打开时,会看到您在图片中发布的方式
因此,通过将分隔符设置为
,
,原始文件将看起来像上面的原始输出。在excel中,它看起来很正常(行和列,没有空格):相关问题 更多 >
编程相关推荐