我有这个代码,假设将我的列表项导出到csv文件 其中文件中的每一行都包含列表中的项目。
writer = csv.writer(open(path+"output.csv", 'wb'))
for item in result:
writer.writerow(item)
我得到的结果很奇怪(例如列表中的2个顶级项目:'过期'以及'代码'):
p,a,s,t, ,d,u,e
c,o,d,e
我想得到的结果很简单:
past due
code
有什么想法吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
此处已有解决方案:Writing List of Strings to Excel CSV File in Python
您不需要遍历列表中的每个元素。试试这个:
writer = csv.writer(open(path+"output.csv", 'wb'))
writer.writerow(result)
答案 2 :(得分:1)
writerow
方法接受单个参数,并写入构成其参数的元素的逗号分隔表示。
通常使用的参数是列表,元组等。显然你使用了一个字符串,因此写的是字符串元素的序列
如果要迭代的所有元素都是字符串,那么这就可以了解
for item in result:
writer.writerow([item])
但写一个只包含一列的csv文件是不寻常的,你可能想写一个简单的文本文件...如果result
中的所有元素都是字符串,则代码
with of as open('result.txt')
of.write("\n".join(result))
将完成这项工作。
答案 3 :(得分:0)
我认为问题在于:
for item in result:
writer.writerow(item)
result
变量实际上是一个字符串,这就是为什么它在每个字符后添加一个逗号。 result
不是像你的代码所暗示的字符串数组 - 它实际上是一个字符串(一个字符数组)。
答案 4 :(得分:0)
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
for val in daily_returns:
writer.writerow([val])