Python “我怎么跑?”;熊猫。阅读“U csv”;使用'';“delimeter”;在生成器函数的定义中?
CSV文件太大(几GB),所以我想分步对行进行切片,并使用pivot修改每个切片的Python “我怎么跑?”;熊猫。阅读“U csv”;使用'';“delimeter”;在生成器函数的定义中?,python,python-3.x,ipython,Python,Python 3.x,Ipython,CSV文件太大(几GB),所以我想分步对行进行切片,并使用pivot修改每个切片的DataFrames,然后组合DataFrames 我使用了一个生成器函数按行对数据进行切片,但我无法陷入pandas中的'delimeter'参数中。请阅读下面的内容 import pandas as pd def generator(): for x in range(0,366130,11): yield pd.read_csv(filename, nrows = x, delimeter='\
DataFrames
,然后组合DataFrames
我使用了一个生成器函数按行对数据进行切片,但我无法陷入pandas中的'delimeter'
参数中。请阅读下面的内容
import pandas as pd
def generator():
for x in range(0,366130,11):
yield pd.read_csv(filename, nrows = x, delimeter='\x01', header=None)
g = generator()
df = next(g)
df
运行此代码时,我在ipython中遇到以下错误:
TypeError: Traceback (most recent call last)
<ipython-input-76-7e0eb8a3d8b6> in <module>
----> 1 df1 = next(g)
2 df1
<ipython-input-75-fae533ab2013> in generator()
2 # print("homework_1_1")
3 for x in range(0,366130,11):
----> 4 yield pd.read_csv(filename, nrows = x, delimeter='\x01', header=None)
5
6 g = generator()
TypeError: parser_f() got an unexpected keyword argument 'delimeter'
TypeError:回溯(最近一次调用)
在里面
---->1 df1=下一个(g)
2 df1
在生成器()中
2.打印(“家庭作业1”)
范围内x为3(0366130,11):
---->4产生pd.read_csv(文件名,nrows=x,delimeter='\x01',头=None)
5.
6 g=发电机()
TypeError:解析器_f()获得意外的关键字参数“delimeter”
如何修复此问题?只需将文件分块即可
与其一次将整个数据集都存储在内存中,不如将其分块存储
chunksize = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunksize):
process(chunk)
或
也可以使用Dask库
只需将文件分成若干块
与其一次将整个数据集都存储在内存中,不如将其分块存储
chunksize = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunksize):
process(chunk)
或
也可以使用Dask库
您拼写的分隔符
错误,这就是问题所在nrows
指定要读取多少行,而不是哪一行。编写时,generator
每次迭代都会打开新文件,每次读取x
行(数量越来越大)。您拼写的分隔符
错误,这就是问题所在nrows
指定要读取多少行,而不是哪一行。编写时,generator
每次迭代都会打开文件,每次读取x
行(数量越来越多)。