【发布时间】:2019-07-28 14:46:30
【问题描述】:
我可能想在这里重新发明轮子,但是 numpy 有一个 fromfile() 函数可以读取 - 我想 - CSV 文件。
它似乎非常快——即使与 Pandas read_csv() 相比也是如此,但我不清楚它是如何工作的。
这是一些测试代码:
import pandas as pd
import numpy as np
# Create the file here, two columns, one million rows of random numbers.
filename = 'my_file.csv'
df = pd.DataFrame({'a':np.random.randint(100,10000,1000000), 'b':np.random.randint(100,10000,1000000)})
df.to_csv(filename, index = False)
# Now read the file into memory.
arr = np.fromfile(filename)
print len(arr)
我在末尾添加了len(),以确保它不会只读取一行。但奇怪的是,我的长度(将根据您的随机数生成而有所不同)是 1,352,244。嗯?
The docs 显示可选的sep 参数。但是当它被使用时:
arr = np.fromfile(filename, sep = ',')
...我们得到长度为 0?!
理想情况下,我可以从这个 CSV 文件加载一个二维数组数组,但我会从这个 CSV 文件中加载一个数组。
我在这里错过了什么?
【问题讨论】: