我在远程Linux中有一个100GB大的“ .csv.gz”文件。我绝对不想解压缩它,因为它的大小可以达到1T。
我正在网上寻找文件。 我在这里看到了建议
python: read lines from compressed text files
gzip?大熊猫?迭代器?
我的导师建议将数据解压缩后再插入。
我还需要考虑内存。因此,readlines()绝对不是我考虑的问题。
我想知道是否有人对此有一个最佳的解决方案,因为文件很大,做任何事情都会花我很多时间。
答案 0 :(得分:0)
您可以将文件大块地传送到python中,并按for line in sys.stdin: ...
逐行处理:
zcat 100GB.csv.gz | python <my-app>
答案 1 :(得分:0)
逐行阅读以下内容:
import sys
for line in sys.stdin:
do_sth_with_the_line(line)
您使用以下命令调用此python脚本:
zcat | python_script.py