【发布时间】:2019-04-05 17:52:52
【问题描述】:
我有一个多维矩阵作为 python 模型的数据输入。为此,我使用了保存在不同模型中的嵌套列表,但也使用了 python。我的问题是如何正确地将这些列表保存为 csv 文件 + 如何正确导入它们。
嵌套列表如下所示:
test = [[[3, 16], [10, 12]], [[4, 2], [14, 6]]]
通过阅读其他示例,我尝试使用以下代码保存它们:
# Write CSV file
kwargs = {'newline': ''}
mode = 'w'
if sys.version_info < (3, 0):
kwargs.pop('newline', None)
mode = 'wb'
with open('../data/test.csv', mode, **kwargs) as fp:
writer = csv.writer(fp, delimiter=',')
writer.writerows(test)
给出如下输出:
"[3, 16]","[10, 12]"
"[4, 2]","[14, 6]"
看着格式,我问自己这是否真的是为更多维度列表编写文件的正确方法。 => Q1:编写嵌套列表的正确方法是什么?
使用读取文件
# Read CSV file
kwargs = {'newline': ''}
mode = 'r'
if sys.version_info < (3, 0):
kwargs.pop('newline', None)
mode = 'rb'
with open('../data/test.csv', mode, **kwargs) as fp:
reader = csv.reader(fp, delimiter=',')
data_read = [row for row in reader]
有输出
[['[3, 16]', '[10, 12]'], ['[4, 2]', '[14, 6]']]
格式的差异让我想到第二个问题: => Q2:读取文件时如何取回整数?
我相信这个问题不会那么困难,但我刚开始使用 python,所以我不确定如何调整代码。因此,非常感谢您的帮助!
【问题讨论】:
-
JSON 可能更适合这种数据。
-
您打算将保存的 CSV 文件与其他(非 Python)软件一起使用吗?如果没有,
pickle列表。
标签: python python-3.x csv export-to-csv