现在我有几个长长的列表:一个叫做variable_names。
让我们说变量名= [速度,密度,压力....](长度为50 +)
我想写一行读取列表的每个索引,留下大约5个空单元格,然后写入下一个值,并一直执行直到列表完成。
如第1行的示例图片所示
问题是由于与Iron Python的兼容性问题,我不能使用xlrd,我需要在新的csv中动态写入每一行,从旧的csv加载数据,然后将该数据附加到新的csv,旧的csv中在将数据添加到新的csv中后,数据会不断变化,因此每次写行时都需要迭代列表中的所有值,因为在csv中添加列要困难得多。
我基本上想做的是:
with open('data.csv','a') as f:
sWriter=csv.writer(f)
sWriter.writerow([Value_list[i],Value_list[i+1],Value_list[i+2].....Value_list[end])
但是我似乎想不出一种通过迭代来做到这一点的方法
答案 0 :(得分:0)
由于writerow
方法使用一个list
参数,因此您可以先构造列表,然后编写列表,以便列表中的所有内容都位于一行中。
就像
with open('data.csv','a') as f:
sWriter=csv.writer(f)
listOfColumns = []
for i in range(from, to): # append elements from Value_list
listOfColumns.append(Value_list[i])
for i in range(0, 2): # Or you may want some columns with blank
listOfColumns.append("")
for i in range(anotherFrom, anotherTo): # append elements from Value_list
listOfColumns.append(Value_list[i])
# At here, the listOfColumns will be [Value_list[from], ..., Value_list[to], "", "", Value_list[anotherFrom], ..., Value_list[anotherTo]]
sWriter.writerow(listOfColumns)