我来讲解一下“Python实现导出数据生成excel报表的方法示例”的完整实例教程。
1. 环境准备
在开始之前,我们需要先安装pandas和openpyxl这两个Python库来处理数据和Excel文件:
!pip install pandas
!pip install openpyxl
2. 生成数据
我们需要先生成一些数据,并将其保存到一个CSV文件中,可以使用pandas库来实现:
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'Age': [25, 30, 28, 21, 31],
'Score': [90, 85, 70, 80, 95]
}
df = pd.DataFrame(data)
df.to_csv('data.csv', index=False, encoding='utf-8')
我们生成了一个包含姓名、年龄、分数的表格数据,并将其保存到了一个名为data.csv的CSV文件中。
3. 读取数据并生成Excel报表
接下来,我们需要使用pandas来读取这个CSV文件,并把它转化为Excel报表:
import pandas as pd
data = pd.read_csv('data.csv')
writer = pd.ExcelWriter('report.xlsx', engine='openpyxl')
data.to_excel(writer, sheet_name='report', index=False)
writer.save()
我们先使用pd.read_csv()方法读取CSV文件,然后使用pd.ExcelWriter()方法来创建一个Excel文件,sheet_name参数指定了这个Excel文件中生成的表格的表名,这里我们设为report,index=False表示不需要写入行索引。最后使用data.to_excel()方法将数据写入表格中,并调用writer.save()方法保存Excel文件。
完成这些步骤后,我们就可以生成一个名为report.xlsx的Excel报表了,其中包含了之前生成的数据。
4. 演示示例
我们来演示一个更具体的用例。假设我们有一个保存了商品订单信息的CSV文件order.csv:
order_id,product_name,price,count
1001,apple,5.0,10
1002,banana,3.0,20
1003,orange,4.0,5
1004,melon,10.0,2
我们需要将这份数据转化为一个Excel表格,并添加另外一些信息,例如汇总数据、下单人员等等。
import pandas as pd
# 读取订单数据
order_data = pd.read_csv('order.csv')
# 计算汇总数据
total_price = order_data['price'] * order_data['count']
order_data['total_price'] = total_price
summary_data = order_data.groupby('product_name')['count', 'total_price'].sum().reset_index()
# 添加下单人员信息
summary_data['order_person'] = 'John'
# 写入Excel文件
writer = pd.ExcelWriter('order_report.xlsx', engine='openpyxl')
order_data.to_excel(writer, sheet_name='order', index=False)
summary_data.to_excel(writer, sheet_name='summary', index=False)
writer.save()
我们首先使用pd.read_csv()方法读取订单数据,然后使用pandas的groupby()方法和sum()方法求出商品每种商品的销售数量和销售总额,将这些数据存放在summary_data变量中,并将下单人员信息添加进去。最后调用to_excel()方法将订单数据和汇总数据写入到Excel文件中。
最终我们得到一个名为order_report.xlsx的Excel报表,其中包含了原始的订单数据和计算出的汇总数据,如下所示:
订单数据表:
order_id | product_name | price | count | total_price |
---|---|---|---|---|
1001 | apple | 5.0 | 10 | 50.0 |
1002 | banana | 3.0 | 20 | 60.0 |
1003 | orange | 4.0 | 5 | 20.0 |
1004 | melon | 10.0 | 2 | 20.0 |
汇总数据表:
product_name | count | total_price | order_person |
---|---|---|---|
apple | 10 | 50.0 | John |
banana | 20 | 60.0 | John |
melon | 2 | 20.0 | John |
orange | 5 | 20.0 | John |
这就是利用Python实现导出数据生成Excel报表的方法示例的完整实例教程,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现导出数据生成excel报表的方法示例 - Python技术站