所谓较大.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,它会读取对应的行数,然后下一次再调用时,才报错,而不是直接报错.