python用openpyxl库操作excel创建带多个数据表并存储数据
注意
wb是excel实例,只能创建一次.表头只添加一次, line是列表(需要对应顺序, 一般先获取字典类型的item. 再通过封装好的make_line函数生成line)
import os
from openpyxl import Workbook
from settings import CATEGORYS
# 创建文件路径
save_dir = r'/data/'
if not os.path.exists(save_dir):
os.makedirs(save_dir)
save_path = r'{}wv.xlsx'.format(save_dir)
# 创建excel文件对象
wb = Workbook()
for category in CATEGORYS:
# 创建工作簿并指定名称
ws = wb.create_sheet(category)
# 添加表头
ws.append(["name", "age"])
# 写入内容
line = make_line(item)
ws.append(line)
# 将exel文件对象保存到指定路径
wb.save(save_path)
make_line函数示例
def make_line(item):
line = [
item.get('name'),
item.get('age')
]
return line
pandas的to_excel方法突破链接数65530限制的方法:
#先定义一个写入器
writer = pd.ExcelWriter(filename, engine='xlsxwriter', options={'strings_to_urls': False})
df.to_excel(writer)
writer.close() # 保存并关闭
print("finished")