最近使用pandas做导出excel数据处理,导出数据为50万时,抛出了这个错误:since it exceeds Excel's limit of 65,530 URLS per worksheet.
1,代码:
import pandas as pd......# user_list = get_user_info(session)# user_list是查询集列表...df = pd.DataFrame(user_list)df = df.set_index('id')df.to_excel('/Users/cuixin/Desktop/ceshi.xlsx')print('ok!')
2,原因:这是由于Excel单个工作表限制URL类型数据量为65530,超出的部分会被舍弃
只要将strings_to_urls自动转换功能关闭就好了。
3,解决方案:
import pandas as pd......# user_list = get_user_info(session)# user_list是查询集列表...df = pd.DataFrame(user_list)df = df.set_index('id')writer = pd.ExcelWriter(r'/Users/cuixin/Desktop/data.xlsx', engine='xlsxwriter', options={
'strings_to_urls': False}) # 不将字符串转换为URL的选项创建ExcelWriter对象df.to_excel(writer)writer.close()print('ok!')
备注:
URL类型数据指的是直接在excel表格中直接点击链接就能跳转到指定的网址。
非URL类型数据指的是就是一个字符串,不能在excel里直接点击打开。
转换Url链接的方法:pandas 写入excel 转换Url链接的两种方法