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到此结束,希望可以帮助到你,持续学习,持续分享!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐