我正在尝试将csv格式的数据写入文件。我写的数据是整数对。不一致的是,当写入数字10时,我在" 1"之间得到一个逗号。和" 0"。这恰好发生在10号,而不是11号等。
代码:
clocktimes = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
with open('testfile.csv', 'w') as tf:
writer = csv.writer(tf)
for hour in clocktimes:
if hour in hourtimes:
writer.writerow( str((hour)).split(',') + str((hourtimes[hour])).split(',') )
else:
writer.writerow( (str(hour)) + (str(0)) )
(hourtimes是一个由整数作为键和值组成的字典)
输出文件:
7,0
8,0
9,0
1,0,0
11144个
12,112
13,80
有谁知道为什么会这样,以及我可以做些什么来阻止这种结果?
答案 0 :(得分:1)
谢谢Random Davis!
我阅读了文档并进行了一些实验,并提出了这个解决方案:
for hour in clocktimes:
if hour in hourtimes:
data = [hour, hourtimes[hour]]
writer.writerow(data)
else:
data = [hour, 0]
writer.writerow(data)
要写入的数据被添加到writerow()方法接受的数组中。输出现在正如我所希望的那样:
...
7,0
8,0
9,0
10,0
11144个
12,112
13,80
...