的格式如下图所示:下面是一个数据用例:importxlsxwriterasxwimportpandasaspdimportopenpyxlasop"------------数据用例-------------"orderIds=[1,2,3]items=['A','B','C']myData=[10,20,30]testData=[orderIds,items,myData]filename1='Test1.xlsx'filename2='Test2.xlsx'filename3='Test3.xlsx'"------------执行-----------------》xw_toexcel(testData,filename1)pd_toexcel(testData,filename2)op_toexcel(testData,filename3)下面分别介绍三种方法:01xlsxwriterdefxw_toexcel(data,filename):#xlsxwriter存储数据toexcelworkbook=xw.Workbook(filename)#创建工作簿worksheet1=workbook.add_worksheet("sheet1")#创建子表worksheet1.activate()#激活表title=['序号','项目','数据']#SettableHeaderworksheet1.write_row('A1',title)#从单元格A1写入表头i=2#从第二行写入数据forjinrange(len(data)):insertData=[data[0][j],data[1][j],data[2][j]]row='A'+str(i)worksheet1.write_row(row,insertData)i+=1workbook.close()#closetable02pandasdefpd_toexcel(数据,文件名):#pandas库存储数据到exceldfData={#使用字典设置DataFrame'序列号':data[0],'item':data[1],'data':data[2]}df=pd.DataFrame(dfData)#CreateDataFramedf.to_excel(filename,index=False)#保存表,去掉原来的索引列(0,1,2...)03openpyxldefop_toexcel(data,filename):#openpyxlstoredatatoexcelwb=op.Workbook()#Createworkbookobjectws=wb['Sheet']#Createsubtablews.append(['serialnumber','item','data'])#添加表头foriinrange(len(data[0])):d=data[0][i],data[1][i],data[2][i]ws.append(d)#每次写一个-linewb.save(filename)总结openpyxl类似于xlsxwriter,需要逐行写入。例如,第一行需要采用[1,'A',10]的格式,但不同的是openpyxl.load_workbook(filepath)可以用于Existing.xlsxwillappenddatawithoutoverwrite;pandas需要先按列组合,如[[1,2,3],['A','B','C'],[…]]每种格式化方式各有优势,应根据情况选择写表时的需要。
