在python中用csvwriter写一个单元格或一行

时间:2018-07-26 13:04:06

标签: excel python-3.x csv

我想将结果列表导出到.xls文件中,但是结果不符合预期。

我的代码是:

lista

我的列表['ele1', 'ele2', '1215.0', '1.9', '1.37', '"ele3"'] 的内容是:

rand

但是excel文件中的结果是第一列中的列表内容,而不是6列,列表中的每个元素都包含一个内容。

我想将所有元素放在不同的列而不是不同的行中。

2 个答案:

答案 0 :(得分:0)

这会将列表放在一行中:

arg=['ele1', 'ele2', '1215.0', '1.9', '1.37', '"ele3"']
import csv

with open("test.csv", 'w') as mfile:
    writer = csv.writer(mfile, quoting=csv.QUOTE_ALL)
    writer.writerow(arg)

在上面的代码中,分别为每个元素调用了csv writer,这就是为什么将其放在同一列或不同行中的原因。

答案 1 :(得分:0)

csv格式是文本格式。它由以定界符(默认为逗号(,)和分隔符彼此分隔的字段组成,并可选地用引号引起来(默认双引号")。但是,通常有不同的定界符。例如,当逗号用于十进制数时(法语0.5表示0.5),通常使用分号(;)作为分隔符。在导入时,Excel应该告诉它如何加载csv文件。如果没有任何反应,则必须在Excel参数中搜索,或直接在OS语言中搜索,并设置期望使用哪个字符作为分隔符。然后,您可以在csv编写器中声明它,例如:

csvWriter = csv.writer(file, dialect='excel', delimiter = ";')

在不了解csv文件内容和系统配置的情况下,我无法再说更多...