python请教 对Excel中数据提取,相同项对应值相加,表格如下,根據姓名將金額加總到一起並保存到另一個sheet裡面,謝謝
姓名 | 金額 |
---|---|
A | 100 |
A | 200 |
A | 300 |
B | 100 |
C | 200 |
C | 300 |
python请教 对Excel中数据提取,相同项对应值相加,表格如下,根據姓名將金額加總到一起並保存到另一個sheet裡面,謝謝
姓名 | 金額 |
---|---|
A | 100 |
A | 200 |
A | 300 |
B | 100 |
C | 200 |
C | 300 |
分析数据可以用pandas , 但要写入同一个文件,要用openpyxl
import pandas as pd
import openpyxl
excel_name = 'data_test.xlsx'
# 读入'Sheet1'
df1 = pd.read_excel(excel_name,sheet_name="Sheet1") # 获取excel的指定表单的数据
# print(df1)
df2 = df1.groupby(['姓名'], as_index=False).sum()
df2.columns= ['姓名','合计金额']
# print(df2)
x_file = openpyxl.load_workbook(excel_name)
# 写入'Sheet2'
sheet = x_file['Sheet2']
sheet.cell(1,1).value = df2.columns[0]
sheet.cell(1,2).value = df2.columns[1]
sheet.column_dimensions['A'].width = 20
sheet.column_dimensions['B'].width = 20
row_i = 1
# 写入数据
for d in df2.iterrows():
row_i += 1
sheet.cell(row_i, 1).value = d[1][0]
sheet.cell(row_i, 2).value = d[1][1]
x_file.save(excel_name)