读取大型csv文件python和panda

读取大型csv文件python和panda,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个Python服务器,它连接到sftp服务器,并拉取CSV文件(在nodeJS服务器中运行一个For循环,每次不同的连接到来时) 在Python服务器中——我正在用panda读取CSV文件——如下所示 file = sftp.open(latestfile) check = pd.read_csv(file).to_csv() 最后,我返回带有CSV文件数据inisde的检查,然后在nodeJS服务器中解析。 这个过程进行得非常顺利,我通过这种方式获得了大

我有一个Python服务器,它连接到sftp服务器,并拉取CSV文件(在nodeJS服务器中运行一个For循环,每次不同的连接到来时) 在Python服务器中——我正在用panda读取CSV文件——如下所示

        file = sftp.open(latestfile)
        check = pd.read_csv(file).to_csv()
最后,我返回带有CSV文件数据inisde的
检查
,然后在nodeJS服务器中解析。 这个过程进行得非常顺利,我通过这种方式获得了大量数据,但是当我的Python服务器试图读取一个大的CSV文件(22MB)时,它崩溃了 我在网上搜索并试图用chunk和.modin library以及dask.dataframe来解决这个问题,但每次我尝试使用其中一种方法时,我都无法正确读取文件内容(.to_csv part)
我现在真的迷路了,因为我无法让它工作(可能会有比这更大的文件)

这里有一种处理大型csv文件的方法。它允许您一次处理一组块。您可以根据您的需求(例如通过sftp等)对其进行修改

最小示例

import pandas as pd
chunksize = 10 ** 4
for chunk in pd.read_csv(latestfile, chunksize=chunksize):
    process(chunk.to_csv())

下面是一种处理大型csv文件的方法。它允许您一次处理一组块。您可以根据您的需求(例如通过sftp等)对其进行修改

最小示例

import pandas as pd
chunksize = 10 ** 4
for chunk in pd.read_csv(latestfile, chunksize=chunksize):
    process(chunk.to_csv())

澄清一下,你所说的服务器“真的崩溃”是什么意思?发生了什么事?@ApplePie两台服务器都在amazon实例上运行,现在它被冻结了,我无法访问它。在日志中,我看到它停止工作,因为python服务器获取了一些CSV文件,所以我连接到该SFTP存储库并下载了该文件。我在本地运行了这个过程,当服务器试图读取该文件时,我出现了这个错误-[CRITICAL]WORKER TIMEOUT(pid:11),amazon实例仍然没有响应。要澄清一下,您所说的服务器“真的崩溃”是什么意思?发生了什么事?@ApplePie两台服务器都在amazon实例上运行,现在它被冻结了,我无法访问它。在日志中,我看到它停止工作,因为python服务器获取了一些CSV文件,所以我连接到该SFTP存储库并下载了该文件。我在本地运行了这个过程,当服务器试图读取该文件时,我出现了这个错误-[CRITICAL]WORKER TIMEOUT(pid:11),amazon实例仍然没有响应。问题是我需要发送整个文件内容。我在用那个进程做什么?我只能在这个块处理结束时返回它还有一件事-我得到进程的错误没有定义(未定义变量)。问题是我需要发送整个文件内容。我在用那个进程做什么?我只能在这个块处理结束时返回它。还有一件事——我得到的进程错误没有定义(未定义变量)