Writing CSV values to file results in values being separated in single characters (Python)
对Python有点了解:
我有以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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," " 74 csvFile.write(",".join(value)) 75 csvFile.write(" ") 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) |
当我打开由上述函数创建的文件时,我希望看到如下内容:
1 2 3 | Col1,Col2,Col3,Col4 A,0,'hello',123 A,0,'foobar',42 |
号
相反,我看到的数据如下:
1 2 3 | 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(),但仍然存在相同的问题。
是什么造成的?
你遇到的问题是你在用
您可以改为使用元组而不是字符串作为您传递给
1 2 3 4 5 | values = [] for i in range(0,5): row = ('A', 0, stringval, intval) values.append(row) |