python 获取较大.csv文件的行数

所谓较大.csv文件,就是直接用pd.read_csv读取,会出现MemoryError.

这时需要把文件变成迭代器,分段读取.

user_info = pd.read_csv("E:\data_analysis\Graduation design\data\weibo_users.csv", iterator=True)

添加了iterator参数. 这样可以使用.get_chunk(10000)方法,每次读取一万行,同时用count累加.

当文件行数不够的时候,会报出StopIteration,这时跳出循环即可

count = 0
for i in range(300):
    try:
        user = user_info.get_chunk(10000)
        count += user.shape[0]
    except StopIteration:
        break
print(count)
【注】:对于get_chunk方法报错,存在一个技术细节,如果行数不够10000,它会读取对应的行数,然后下一次再调用时,才报错,而不是直接报错.
 
  

你可能感兴趣的:(数据分析,python,.csv,文件行数,pandas,数据分析)