【小方法】Python生成Excel文件的三种方法

python生成excel在做爬虫的时候是一个非常,常见的需求,今天总结一下。

https://www.bilibili.com/video/av66445983/ 来源,学习,记录,分享

1.xlwt/xlrd类库方法

用于生成比较老的excel文件,比如xls格式,最大行数限制为65536行

student = [
    {"姓名": "小A", "年龄": "21", "职业": "战士"},
    {"姓名": "小B", "年龄": "22", "职业": "法师"},
    {"姓名": "小C", "年龄": "23", "职业": "刺客"},
    {"姓名": "小D", "年龄": "24", "职业": "坦克"},
]

import xlwt
workbook = xlwt.Workbook(encoding="utf-8")  # 实例化book对象
sheet = workbook.add_sheet("xlwt方法")  # 生成sheet

# 写入标题
for col, column in enumerate(["姓名", "年龄", "职业"]):
    sheet.write(0, col, column)

# 写入每一行
for row, data in enumerate(student):
    for col, col_data in enumerate(data):
        sheet.write(row+1, col, data[col_data])

workbook.save("xlwt.xls")

结果:
在这里插入图片描述

2.openpyxl类库方法

用于生成2010之后新的excel文件,比如xlsx格式

student = [
    {"姓名": "小A", "年龄": "21", "职业": "战士"},
    {"姓名": "小B", "年龄": "22", "职业": "法师"},
    {"姓名": "小C", "年龄": "23", "职业": "刺客"},
    {"姓名": "小D", "年龄": "24", "职业": "坦克"},
]


from openpyxl import Workbook
workbook = Workbook()

# 默认sheet
sheet = workbook.active
sheet.title = "openpyxl"
sheet.append(["姓名", "年龄", "职业"])  # 插入标题
for data in student:
    sheet.append(list(data.values()))  # 这里要接受的也是list把值取出来在转化一下
workbook.save("openpyxl.xlsx")

在这里插入图片描述

3.pandas类库方法

大部分用于数据分析这里只是用to_excel方法

student = [
    {"姓名": "小A", "年龄": "21", "职业": "战士"},
    {"姓名": "小B", "年龄": "22", "职业": "法师"},
    {"姓名": "小C", "年龄": "23", "职业": "刺客"},
    {"姓名": "小D", "年龄": "24", "职业": "坦克"},
]


import pandas as pd
pf = pd.DataFrame(student)
# 指定字段顺序
order = ['姓名', '年龄', '职业']
pf = pf[order]

# 指定生成的Excel表格名称
file_path = pd.ExcelWriter(f'pandas.xlsx')
# 输出
pf.to_excel(file_path, sheet_name='pandas', encoding='utf-8', index=False)
# 保存表格
file_path.save()

在这里插入图片描述
ok到此结束,希望可以帮助到你,持续学习,持续分享!

  • 11
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值