首页 > 解决方案 > 使用 numpy 将数据从 csv 加载到单个列表

问题描述

我有一个名为 data.csv 的 csv 文件,它包含以下内容:

8.84,17.22,13.22,3.84
3.99,11.73,19.66,1.27
16.14,18.72,7.43,11.09

我想要做的是将所有这些加载到一个看起来像这样的列表中:

[8.84,17.22,13.22,3.84,3.99,11.73,19.66,1.27,16.14,18.72,7.43,11.09]

我使用 numpy 编写的脚本是

import numpy as np
data = np.loadtxt(data.csv,delimiter=',')
print(data)

但这给了我一个 3 x 4 numpy 数组

[[  8.84  17.22  13.22   3.84]
 [  3.99  11.73  19.66   1.27]
 [ 16.14  18.72   7.43  11.09]]

标签: python-3.xnumpycsv

解决方案


您可以将 numpy 数组转换为数组列表,然后使用列表推导将其展平。

import numpy as np

data = np.loadtxt('data.csv', delimiter=',')
expected_output = [item for sub_list in list(data) for item in sub_list]

print(expected_output)

推荐阅读