博客园  :: 首页  :: 管理

笔者在之前使用python将数据写入到Excel表格中,一般都只需要写入一张Sheet表中就可以了

因最近一个小的需求,需要将不同的大列表数据写入到不同的Sheet表中

这样,再使用之前的 pandas.DataFrame(content_list),然后.to_excel("./xxxxx.xlsx") 就不再好用了

于是笔者又去看了一个pandas模块的,发现也还是有办法实现的,那就是使用 pandas.ExcelWriter的机制

这里笔者通过一个简单的代码进行说明,就可以很好的看出效果

import pandas

Data_A_Sheet=[["Name","QQ"],["Author","QQ:5201351"]]
Data_B_Sheet=[["Name","URL"],["Cnblogs","https://www.cnblogs.com/5201351"]]

writer=pandas.ExcelWriter("DataResult.xlsx")

Data_A=pandas.DataFrame(Data_A_Sheet[1:],columns=Data_A_Sheet[0])
Data_B=pandas.DataFrame(Data_B_Sheet[1:],columns=Data_B_Sheet[0])

Data_A.to_excel(writer,sheet_name="Data_A",index=False)
Data_B.to_excel(writer,sheet_name="Data_B",index=False)

writer.close()

这样就会生成 DataResult.xlsx 文件,打开会,会发现有 Data_A 和 Data_B 两个Sheet表了

说明:如果文件已经存在,重复执行代码,会覆盖重写之前的Excel表中的数据的,即相当于之前文件存在的内容都会被清空,最后使用新的数据进行重写

当然如果重复执行代码时,之前的Excel文件处于打开状态,则不能成功,且会报错~ PermissionError: [Errno 13] Permission denied: 'DataResult.xlsx'

 

 

  

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17369455.html