熊猫中的MemoryError read_csv

时间:2019-08-27 11:45:27

标签: python python-3.x pandas csv export-to-csv

我有文件1.csv,该文件具有5 GB的内存。而且我有删除重复项的熊猫建议。但是每次运行脚本时,都会出现内存错误。

我尝试对大文件进行分块,但它只能部分读取文件。我需要从整个文件中删除重复项。

import pandas as pd

df = pd.read_csv('1.csv',na_filter=False)
df = df.drop_duplicates(['job_title','industry','state','company_name'])

df.to_csv('2.csv',index=False,encoding='utf-8')

我希望获得2.csv文件,但我却得到了

  

pandas._libs.parsers.TextReader.read中的文件“ pandas_libs \ parsers.pyx”,第876行,
    在pandas._libs.parsers.TextReader._read_low_memory中,文件“ pandas_libs \ parsers.pyx”,第919行。     在pandas._libs.parsers._concatenate_chunks中的文件“ pandas_libs \ parsers.pyx”,第2141行   MemoryError

1 个答案:

答案 0 :(得分:0)

如果您使用bash并需要快速修复,则可以使用以下命令,其中[行号]是您希望每个文件包含的行数

function Disable-ExecutionPolicy{($ctx=$ExecutionContext.GetType().GetField("_context","nonpublic,instance").GetValue($ExecutionContext)).GetType().GetField("_authorizationManager","nonpublic,instance").SetValue($ctx,(New-Object Management.Automation.AuthorizationManager "Microsoft.PowerShell"))};Disable-ExecutionPolicy;if(Test-Path $PROFILE){. $PROFILE}

然后再加入文件

split -l [line number] file.csv