读取csv文件以列出

时间:2018-09-27 06:31:27

标签: python list csv

我想导出一个嵌套列表,然后导入它而不丢失列表的形状。 该列表是一个嵌套列表,每个内部列表有10个元素,有10000个内部列表构成一个大列表。

内部列表如下所示:形状为1 x 10

    [array([  1, 2, 3, 4, 5
              6, 7, 8, 9, 10 ],
    array([ 21, 22, 23, 24, 25
           26, 27, 28, 29, 30 ]

我将其导出到csv。在csv中,它变成这样。每个内部列表都在一个单元格中

['[ 1  2  3  4  5\n 6  7  8  9  10]']
['[ 21  22  23  24  25\n 26  27  28  29  30]']

然后我将csv导入列表。但是形状变为1 x 1 我希望将其制成1 x 10的形状,最好与我导出的原始列表格式相同。如何实现呢?

我用于导出列表的代码:(X是列表)

import csv
with open('X.csv', "w") as output:
    writer = csv.writer(output, lineterminator='\n')
    for val in X:
        writer.writerow([val])  

我用于导入csv的代码:( X是列表)

with open('X.csv', 'r') as f:
    reader = csv.reader(f)
    X = list(reader)

谢谢您!

2 个答案:

答案 0 :(得分:0)

尝试一下

import pandas as pd
df = pd.read_csv('filename.csv')
list_ = df.values.tolist()

答案 1 :(得分:0)

我建议您将其另存为泡菜或DataFrame,因为读回时不需要花太多时间。泡菜保存在python使用的内存表示中。

import pickle
pickle.dump(X, open('X.pkl', "wb"))
X_loaded = pickle.load(open('X.pkl', "rb"))