【发布时间】:2011-06-04 22:37:41
【问题描述】:
对 Python 有点了解:
我有以下代码:
def printCSV(output, values, header):
63 """
64 prints the output data as comma-separated values
65 """
66
67 try:
68 with open(output, 'w') as csvFile:
69 #print headers
70 csvFile.write(header)
71
72 for value in values:
73 #print value, "\n"
74 csvFile.write(",".join(value))
75 csvFile.write("\n")
76 except:
77 print "Error occured while writing CSV file..."
Values is a list constructed somewhat like this:
values = []
for i in range(0,5):
row = "A,%s,%s,%s" % (0,stringval, intval)
values.append(row)
当我打开由上述函数创建的文件时,我希望看到如下内容:
Col1,Col2,Col3,Col4
A,0,'hello',123
A,0,'foobar',42
相反,我看到的是这样的数据:
Col1,Col2,Col3,Col4
A,0,'h','e','l','l','o',1,2,3
A,0,'f','o','o','b','a','r',4,2
有人知道这是什么原因吗?
我什至尝试直接使用fopen和fwrite(),仍然存在同样的问题。
这是什么原因造成的?
【问题讨论】:
-
你为什么要
csvFile.write(",".join(value))?请在您的问题中更全面地解释这行代码。 -
啊,我想你已经指出了我的问题。此函数用于脚本的不同部分。看起来它通常会传递一个值列表。而当我调用它时,我传递给它一个逗号分隔值列表......有人可以投票支持它被关闭......
-
如果您还不知道,Python 中有一个非常好的 csv 模块:只需执行
import csv。
标签: python