我尝试将数据从list
写入第4列
namelist = ['PEAR']
for name in namelist:
for man_year in yearlist:
for man_month in monthlist:
with open('{2}\{0}\{1}.csv'.format(man_year,man_month,name),'w') as filename:
writer = csv.writer(filename)
writer.writerow(name)
time.sleep(0.01)
它输出到像这样的csv
P E A R
4015854 234342 2442343 234242
我怎样才能让它继续第4列?
PEAR
4015854 234342 2442343 234242
答案 0 :(得分:1)
将行writer.writerow(name)
替换为
writer.writerow(['', '', '', name])
答案 1 :(得分:1)
当您将name
传递给csvwriter
时,它会将该名称视为可迭代的,并在列中写下每个字符。
因此,为了解决这个问题,请更改以下行:
writer.writerow(name)
使用:
writer.writerow([''] * (len(other_row)-1) + [name])
此处other_row
可以是其余行之一,但如果您确定长度,则可以执行以下操作:
writer.writerow([''] * (length-1) + [name])
答案 2 :(得分:1)
您可以使用df.at而不是在不想触摸的单元格上写入''。例如,您可以编写df.at [index,ColumnName] = 10,它将仅更改该特定单元格的值。
您可以在此处了解更多信息:Set value for particular cell in pandas DataFrame using index