在Python中编写报表可以通过多种方式实现,以下是使用不同库的一些示例:
使用 `xlwt` 库
`xlwt` 是一个用于创建Excel文件的库。以下是一个简单的示例,展示如何使用 `xlwt` 创建一个Excel报表:
import xlwt
创建工作簿
workbook = xlwt.Workbook()
创建工作表
sheet1 = workbook.add_sheet('Sheet1')
定义首行标题内容
title = ['Name', 'Age', 'Gender', 'Major']
写入数据
row = 0
for col, v in enumerate(title):
sheet1.write(row, col, v)
row += 1
sheet1.write(row, 0, 'Simon')
sheet1.write(row, 1, 18)
sheet1.write(row, 2, 'Male')
row += 1
sheet1.write(row, 0, 'Lisa')
sheet1.write(row, 1, 18)
sheet1.write(row, 2, 'Female')
合并major列(第2、3行,第4列)
sheet1.write_merge(1, 2, 3, 3, 'IT')
保存工作簿
workbook.save('demo.xls')
使用 `pandas` 和 `xlsxwriter` 库
`pandas` 用于数据处理,`xlsxwriter` 用于创建Excel文件。以下是一个示例,展示如何使用这两个库创建一个Excel报表:
import pandas as pd
读取原始数据
raw_coal = pd.read_excel('统计局数据.xlsx', sheet_name='原煤')
crude_oil = pd.read_excel('统计局数据.xlsx', sheet_name='原油')
natural_gas = pd.read_excel('统计局数据.xlsx', sheet_name='天然气')
合并数据
data = pd.merge(raw_coal, crude_oil, on='Date')
data = pd.merge(data, natural_gas, on='Date')
创建Excel文件
workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
定义图表
chart = workbook.add_chart({'type': 'column'})
chart.add_series({
'name': '流量',
'categories': ['Sheet1', 1, 0, len(data) + 1, 0],
'values': ['Sheet1', 1, 1, len(data) + 1, 1],
})
设置图表标题和轴标签
chart.set_title({'name': '流量统计'})
chart.set_x_axis({'name': '日期'})
chart.set_y_axis({'name': '流量'})
设置数据格式
format = workbook.add_format({'bold': True})
写入数据到工作表
for r_idx, row in enumerate(data.values):
for c_idx, value in enumerate(row):
worksheet.write(r_idx, c_idx, value)
插入图表到工作表
worksheet.insert_chart('E2', chart)
保存Excel文件
workbook.close()
使用 `prettytable` 库
`prettytable` 是一个用于创建美观表格的库。以下是一个示例,展示如何使用 `prettytable` 创建一个简单的表格:
from prettytable import PrettyTable
创建表格
x = PrettyTable(['Name', 'Gender', 'Age', 'Deposit'])
x.align['Name'] = 'l' 左对齐
x.padding_width = 1 填充宽度
添加行数据
x.add_row(['Alice', 'Female', 25, 5000])
x.add_row(['Bob', 'Male', 30, 10000])
x.add_row(['Cathy', 'Female', 28, 7500])
打印表格
print(x)
以上示例展示了如何使用不同的Python库来创建报表。您可以根据具体需求选择合适的库进行操作。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/138258.html