Python的read_csv()读取大文件问题解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012111465/article/details/84099312

通过普通的read_csv()方式读取几个G的csv文件,耗时长,读不出,卡到电脑崩溃掉,结果。。。死机,强制重启 。
千万别写成:

import pandas as pd
merge_dt = pd.read_csv( cwd + '\\' + SaveFile_Path + '\\' + SaveFile_Name, encoding="utf_8", engine='python'  ) 

此时,可以利用read_csv()中分块读取文件的功能,有两种方法解决该问题。

方法一

指定参数iterator = True返回一个可迭代对象TextFileReader :

# 读取融合的CSV文件
merge_dt = pd.read_csv( cwd + '\\' + SaveFile_Path + '\\' + SaveFile_Name, encoding="utf_8", engine='python' ,iterator = True ) 
merge_dt  
# output: <pandas.io.parsers.TextFileReader at 0x1cc1f0a7470>
# 调用数据
merge_data = merge_dt.get_chunk(10000)

方法二

参数chunksize,通过指定一个chunksize分块大小来读取文件,也可返回一个可迭代的对象TextFileReader。

# 读取融合的CSV文件
merge_dt = pd.read_csv( cwd + '\\' + SaveFile_Path + '\\' + SaveFile_Name, encoding="utf_8", engine='python' , chunksize = 10) 
merge_dt  
# output: <pandas.io.parsers.TextFileReader at 0x1cc34ccd2e8>
# 通过以下方式调用数据
merge_data = merge_dt.get_chunk(1000)

猜你喜欢

转载自blog.csdn.net/u012111465/article/details/84099312