我有两个列表,其中一个是简单的值列表,另一个是列表列表,每个元素都有两个值。我如何将这些列表分别存储在单个.csv表中,并在运行另一个python脚本时导入它?
以下是一个示例:
list_a = [0, 0, 0, 0, 0, 0, 0]
list_b = [[0,0], [0,0], [0,0], [0,0], [0,0]]
我试过这个:
with open("output.csv", "w", newline="") as a:
writer = csv.writer(a)
writer.writerows(list_a)
writer.writerows(list_b)
但是list_a和list_b存储在同一列上,而list_b值而不是(0,0)存储为(,0,“,”,0,)。
所以我试过了:
writer = csv.writer(a, quoting=csv.QUOTE_NONE)
但是这出错了:
_csv.Error: need to escape, but no escapechar set
所以我做了:
writer = csv.writer(a, quoting=csv.QUOTE_NONE, escapechar='\\')
然后我得到像(,0,\ ,, 0,)这样的值?
我需要的格式是list_a和list_b可以导出到.csv文件中并按原样导入并在相同或其他脚本中使用/修改。导出时我在哪里出错,如何将其作为python脚本列表导入?实现这一目标的最简单方法是什么?
提前致谢:)
答案 0 :(得分:0)
此示例使用izip(而不是zip)来避免创建新列表并将其保留在内存中。它还避免使用任何循环,因此代码简洁明了。< .em>
import csv
from itertools import izip
with open('output.csv', 'w') as m:
writer = csv.writer(m)
writer.writerows(izip(list_a, list_b))