我有一个 csv 文件,它的前三列是这样的
2011,12,25,...
2011,12,26....
2011,12,27,...
...
这些列基本上是年、月和日期。其他列包含字符串。总共有 100 行和 6 列。我numpy.loadtxt
用来把它变成一个数组,使用
input = numpy.loadtxt('file.csv', dtype='i4, i4, i4, S4, S4, S4', delimiter=',')
问题:据我了解,这个 loadtxt 操作应该返回一个具有 shape 的数组100x6
。但是,这会返回一个 的数组100x1
,每个元素都是一个 的数组1x6
。
我希望这是正常的 2D 数组100x6
。我在网上查了一些资源。似乎由于 csv 数据中的某些列包含字符串,我必须使用dtype
参数,这导致输入是一维数组而不是二维数组。我已经尝试了这些站点中给出的一些示例,只要 CSV 文件中的所有条目都是数字,它们似乎就可以正常工作
我正在寻找的是
- 一种将我的数据导入普通二维数组的方法
- 关于为什么 loadtxt 导入数组数组的一些解释
示例 CSV 文件:
2011,12,25,AAA,AAA,AAA
2011,12,26,BBB,BBB,BBB
2011,12,27,CCC,CCC,CCC