我正在尝试使用csv.writer将一行字符串(它是标题行)写入csv文件,如下所示:
mbfile=open(pathtodata + "mbsensors.csv", "ab")
writer=csv.writer(mbfile)
writer.writerow(["ESReadings"])
i=1
tempstring='DateTime'
while i<=numsensors:
tempstring=tempstring+','+ "%02d"%i +'.Cooked'
i=i+1
print tempstring
writer.writerow([tempstring])
mbfile.close
(我不知道为什么第一行缩进 - 在我的代码中不是那样的。)
在Linux中使用Python 2.7.3。
writer.writerow([“ESReadings”])写得很好,没有包围双引号。
print tempstring按预期显示在屏幕上。
writer.writerow([tempstring])写得很好,除了它周围有双引号。
我将这些数据导入Windows程序并且它不喜欢引号,我该如何避免它们?
答案 0 :(得分:1)
csv编写者认为你正试图写一个条目,这就是为什么它在整个字符串周围加上引号。您应该将该行作为列表(或其他可迭代的)字符串传递,并让编写器插入逗号。像这样:
tempstring=['DateTime']
while i<=numsensors:
tempstring.append("%02d"%i +'.Cooked')
i=i+1
print tempstring
writer.writerow(tempstring)