Importing/Exporting 从 .csv 到多个 python 列表?
Importing/Exporting from .csv to multiple python lists?
我有两个列表,一个是简单的值列表,另一个是列表的列表,每个元素都有两个值。我如何将这两个列表分别存储在一个 .csv sheet 中,并在 运行 另一个 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 文件并按原样导入,并且 used/modified 可以在相同或其他脚本中导入。导出时我哪里出错了,如何将其作为列表导入回 python 脚本?什么是最 pythonic 最简单的方法来完成这个?
提前致谢:)
此示例使用 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))
我有两个列表,一个是简单的值列表,另一个是列表的列表,每个元素都有两个值。我如何将这两个列表分别存储在一个 .csv sheet 中,并在 运行 另一个 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 文件并按原样导入,并且 used/modified 可以在相同或其他脚本中导入。导出时我哪里出错了,如何将其作为列表导入回 python 脚本?什么是最 pythonic 最简单的方法来完成这个?
提前致谢:)
此示例使用 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))