Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “我怎么跑?”;熊猫。阅读“U csv”;使用'';“delimeter”;在生成器函数的定义中?_Python_Python 3.x_Ipython - Fatal编程技术网

Python “我怎么跑?”;熊猫。阅读“U csv”;使用'';“delimeter”;在生成器函数的定义中?

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='\

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='\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
行(数量越来越多)。