我正在尝试从Downloads文件夹导入.csv文件。通常,read_csv函数会导入整行,尽管有数百万行。在本例中,我的文件有236,905行,但实际上加载的是100,000。
.csv
read_csv
236,905
100,000
df = pd.read_csv(r'C:\Users\user\Downloads\df.csv',nrows=9999999,low_memory=False)
s8vozzvw1#
我在一个包含5M行的文件中遇到了同样的问题。我首先尝试了这个选项:
tp = pd.read_csv('yourfile.csv', iterator=True, chunksize=1000) data_customers = pd.concat(tp, ignore_index=True)
它确实工作了,但在我的情况下,由于一些列包含字符"",它在read_csv中用作分隔符,另一个解决方案是使用Dask它有一个叫做"DataFrame"的对象(如Pandas)。Dask读取你的文件并构造一个由几个Pandas Dataframe 组成的Dask Dataframe 。这是并行计算的一个很好的解决方案。希望能有所帮助
9lowa7mx2#
您需要使用chunksize=参数创建块:
chunksize=
temporary = pd.read_csv(r'C:\Users\user\Downloads\df.csv', iterator=True, chunksize=1000) df = pd.concat(temporary, ignore_index=True)
ignore_index重置索引,使其不再重复。
ignore_index
2条答案
按热度按时间s8vozzvw1#
我在一个包含5M行的文件中遇到了同样的问题。
我首先尝试了这个选项:
它确实工作了,但在我的情况下,由于一些列包含字符"",它在read_csv中用作分隔符,
另一个解决方案是使用Dask它有一个叫做"DataFrame"的对象(如Pandas)。Dask读取你的文件并构造一个由几个Pandas Dataframe 组成的Dask Dataframe 。这是并行计算的一个很好的解决方案。
希望能有所帮助
9lowa7mx2#
您需要使用
chunksize=
参数创建块:ignore_index
重置索引,使其不再重复。