在python-csv.writter中为每列写一个新行



我目前有一个csv,包含以下列:

id, width, height, item_id, design

我想附加到这个文件中,并创建一个新行来填充这些列中的每一列。当我尝试它时,让我们说";在这里测试";它将t、e、s、t等放在每一行中。我想把数据放在id,width,height separte中的例子";新id"新宽度";,etc

到目前为止,我的代码是:

import csv
with open('design_products_view.csv') as design_file, open('templates_view.csv') as templates, open('templates_view.csv', 'a') as templatesToWrite:
designs = list(csv.reader(design_file, delimiter=','))
template_files = list(csv.reader(templates, delimiter=','))
containsProduct = "Circle"
writer = csv.writer(templatesToWrite)
for row in designs:
if containsProduct in row[1]:
rowValue = row[1].split("'")[0]
for row in template_files:
if row[1] != "width":
if rowValue in row[1] and row[3] == "8":
print(row[1])
writer.writerow("test here")

writerrow只接受一个参数。知道我该怎么做吗?

之所以会发生这种情况,是因为writerow希望接收一个Iterable,就像list一样。Python将strings视为类型为char的可迭代对象,因此如果您键入"hello",它将被处理为['h', 'e', 'l', 'l', 'o']

尝试在writerow函数中使用list

writer.writerow([5, 60, 55, 4, 'metallic']) 

相关内容

  • 没有找到相关文章

最新更新