0

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

4

1 回答 1

1

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

tempstring=['DateTime']
while i<=numsensors:
 tempstring.append("%02d"%i +'.Cooked')
 i=i+1
 print tempstring
 writer.writerow(tempstring)
于 2012-05-23T03:37:19.203 回答