在 CSV 中写入整个列表 row-Python/IronPython

Writing a whole list in a CSV row-Python/IronPython

现在我有几个长列表:一个叫 variable_names。

假设变量名称= [速度、密度、压力……](长度为50+)

我想写一行读取列表的每个索引,留下大约 5 个空单元格,然后写入下一个值,并一直这样做直到列表完成。

如row1示例图片所示

由于与 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])

但我似乎想不出用迭代来做到这一点的方法

因为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)