数据处理:pandas处理大型csv文件,使用pandas分块处理大文件
1. 读取限定列
一个 csv文件中,有很多列,而我们只关心其中的某些列是,如果把每行数据都读取出来,在提取信息,显然会增加IO的量,可以在读read_csv()时,给定参数,增加效率。
file = pd.read_csv("filename.csv",usecols=["col1","col2",...])
2.读取限定行
增加read_csv()方法中的nrows参数,设定读取的行数。
file = pd.read_csv("filename.csv",nrows=1000,usecols=["col1",...])
3.分块读取
chunksize可以指定一个分块大小来读取文件,返回的是一个迭代器,一个textfilereader对象。chunksize =1000,代表每次读取1000行。
reader = pd.read_csv("filename.csv",nrows=1000,usecols=[],chunksize=1000,iterator=True) reader
可以使用列表添加每块,最后使用pd.concat([],ignore_index=True),将数据拼接在一起。