功能点:
-
List item用python写入数据到excel会有行数的限制,最新excel限制行数为1048576,那么怎么能解决这个问题呢?
解决方案:
当行数达到最大时进行分sheet保存数据 -
自动命名新sheet
def get_data(nowTime):
file_name = './{}_check_data.xlsx'.format(nowTime)
if os.path.exists(file_name): # 如果文件存在
# 删除文件,可使用以下两种方法。
os.remove(file_name)
sql01 = get_sql()
print("开始获取第一模块数据....")
result,count = get_data_from_hive_1(sql01)
print(count)
#限制每一页最大的行数,excel最大行数是1048576
limit_num=1048576 #0~1048576之间
#num为sheet分页数
if (count%limit_num==0):
num=math.ceil(count/limit_num)+1
else:
num=math.ceil(count/limit_num)
print(num)
for i in range(1,num+1):
sheet_name='sheet模块_' + str(i)
result_part=result.iloc[((i-1)*limit_num-(i-1)):(limit_num*i-i),:]
xlsx = XlsxSaver(result_part, file_name ,sheet_name)
xlsx.save()
print("第一模块完成")
print("数据获取完成")