我正在从事一个项目,在那里我有信息,我需要用这些信息更新CSV文件。信息在列表中,但列表的长度可能会有所不同。我需要更新CSV文件以获得所有信息,但是如果列表长度小于5,CSV文件应该有一些空值。 这是我的CSV文件:
Name,1,2,3,4,5
Adam,,,,,
变量listBios在前面定义过,它包含的只是不同的信息。 这是我的密码:
with open("testing copy.csv", "w", newline = '') as wfile:
headers = ["Name", "1", "2", "3", "4", "5"]
csv_writer = DictWriter(wfile, fieldnames = headers)
csv_writer.writeheader()
csv_writer.writerow({
"Name": "Adam",
'1': listBios[0],
'2': listBios[1],
'3': listBios[2],
'4': listBios[3],
'5': listBios[4]
})
这将抛出错误:
'4': listBios[3],
IndexError: list index out of range
因为listlistBios的长度是3,而不是4。我怎样才能让它检测列表中有多少项,并且只将这些项添加到CSV中,这样我就不会出错
非常感谢你
亚当
您可以创建一个长度始终为5的临时列表。如果
listBios
的长度小于5,则使用[''] * (5 - len(listBios))
将空字符串元素添加到临时列表中:您可以在
listBios
上使用iter()
,然后使用默认值调用next()
:要确定列表的长度,请使用
len()
函数。 例如:输出:
相关问题 更多 >
编程相关推荐