繁体   English   中英

Python将列表项写入csv

[英]Python write list items to csv

我有这段代码,它想将我的列表项导出到一个csv文件中,其中文件中的每一行都包含列表中的一项。

writer = csv.writer(open(path+"output.csv", 'wb'))
for item in result:
     writer.writerow(item)

我得到的结果非常奇怪(例如列表中的前两个项目:“到期”和“代码”):

p,a,s,t, ,d,u,e
c,o,d,e

我想要得到的结果很简单:

    past due
    code

有任何想法吗 ?

csvwriter.writerow(row)

这会将行参数写入编写者的文件对象,并根据当前方言格式化。

有关更多信息,请参见csvwriter

这里已经有解决方案: 用Python将字符串列表写入Excel CSV文件

您无需遍历列表中的每个元素。 尝试这个:

writer = csv.writer(open(path+"output.csv", 'wb'))
writer.writerow(result)

writerow方法接受单个参数,并以逗号分隔形式表示组成其参数的元素。

通常使用的参数是列表,元组等。显然您使用了字符串,因此写入的是字符串元素的顺序

如果要迭代的所有元素都是字符串,则可以解决问题

for item in result:
    writer.writerow([item])

但是编写仅包含一列的csv文件是不寻常的,并且可能您可能想编写一个简单的文本文件...如果result中的所有元素都是字符串,那么以下代码

with of as open('result.txt')
    of.write("\n".join(result))

会做的工作。

我认为问题出在这里:

for item in result:
     writer.writerow(item)

result变量实际上是一个字符串,这就是为什么要在每个字符后添加逗号的原因。 result不是您的代码所建议的字符串数组-实际上是一个字符串(字符数组)。

with open('returns.csv', 'wb') as f:
    writer = csv.writer(f)
    for val in daily_returns:
        writer.writerow([val])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM