使用csv.writer避免在字符串数据行周围引用

时间:2012-05-23 03:01:10

标签: python string csv

我正在尝试使用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程序并且它不喜欢引号,我该如何避免它们?

1 个答案:

答案 0 :(得分:1)

csv编写者认为你正试图写一个条目,这就是为什么它在整个字符串周围加上引号。您应该将该行作为列表(或其他可迭代的)字符串传递,并让编写器插入逗号。像这样:

tempstring=['DateTime']
while i<=numsensors:
 tempstring.append("%02d"%i +'.Cooked')
 i=i+1
 print tempstring
 writer.writerow(tempstring)