Python 以txt文件格式存储非常庞大的数据,并使用制表符分隔值

Python 以txt文件格式存储非常庞大的数据,并使用制表符分隔值,python,pandas,csv,text-files,Python,Pandas,Csv,Text Files,我正在使用pd.read\u SQL()从SQL数据库加载数据集。我试图在excel/csv文件中存储1亿行和300列。但由于1048576行的限制,它失败了 因此,我尝试使用存储与.tsv文件相同的文件 pd.to_csv("data.txt", header=True, index=False, sep='\t', mode='a') 我没有发现标签分隔的txt文件的限制 去好还是有其他好的选择?可能不是个好主意。您的限制是您的机器内存,因为熊猫会将所有内容加载到内存中

我正在使用
pd.read\u SQL()
从SQL数据库加载数据集。我试图在excel/csv文件中存储1亿行和300列。但由于1048576行的限制,它失败了

因此,我尝试使用存储与
.tsv
文件相同的文件

pd.to_csv("data.txt", header=True, index=False, sep='\t', mode='a')
我没有发现标签分隔的txt文件的限制


去好还是有其他好的选择?

可能不是个好主意。您的限制是您的机器内存,因为熊猫会将所有内容加载到内存中。那样大小的数据帧不适合。您可能需要更多的机器和分布式计算框架,如ApacheSpark或dask


或者,根据您想对数据执行的操作,您可能不需要将其加载到内存中。

这里唯一我不确定的是
pandas
内部如何工作。除此之外,你的方法完全正确。Hadoop广泛使用
.tsv
格式来存储和处理数据。而且没有像“限制
.tsv
文件”这样的东西。文件只是一个字节序列<代码>\t和
\n
只是没有任何区别的字符。您遇到的限制是由Microsoft Excel施加的,而不是由操作系统施加的。例如,它在很久以前就很低,其他电子表格应用程序可能会施加不同的限制

如果
打开('your_file.tsv','wt')
读线
,则只会获取
\n
之前的字节。没有别的事情发生。在
\n
之前不允许有多少
\t
这样的事情,一个文件中允许有多少
\n
这样的事情。它们都只是字节,一个文件可以容纳操作系统允许的字符数

它在不同的操作系统中有所不同,但是,根据不同的操作系统,NTFS文件系统的最大文件大小几乎为16TB。但实际上,将一个大文件拆分为多个大小合理的文件是一个好主意。例如,您可以轻松地分发它们


要处理如此大的数据,您应该采用迭代或分布式方法。例如,Hadoop。

亲爱的朋友,我尝试将40%的相同数据保存在本地。文件大小只有170MB。因此,总大小可能不会超过1 GB。。我用的是8GB内存的机器。那么你可以试试,用它来监视你的内存。你不能破坏任何东西,只要键盘中断,如果你用完了内存。txt文件中没有存储数据的限制。但重读它要花很多钱。因此,您可以根据需要将每100万~1亿行保存到一个文件中。我需要完整的数据来进行分析..:(