要按组求和并排序包含在文件中的多个工作簿,可以使用Python的pandas库来处理。以下是一个示例代码,演示如何实现这个功能:
import pandas as pd
import os
# 指定工作簿所在的文件夹路径
folder_path = 'path/to/folder'
# 获取文件夹中的所有工作簿文件
workbook_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 创建一个空的DataFrame来存储所有工作簿的数据
df = pd.DataFrame()
# 逐个读取工作簿文件,并将数据添加到DataFrame中
for file in workbook_files:
file_path = os.path.join(folder_path, file)
workbook = pd.read_excel(file_path)
df = df.append(workbook)
# 按组求和
grouped = df.groupby('group').sum()
# 按值排序
sorted_df = grouped.sort_values(by='sum_column', ascending=False)
# 打印结果
print(sorted_df)
在上面的代码中,首先指定包含工作簿的文件夹路径。然后,使用os.listdir()
函数获取文件夹中所有以.xlsx
结尾的文件名,并存储在workbook_files
列表中。
接下来,创建一个空的DataFrame对象df
,用于存储所有工作簿的数据。然后使用循环遍历所有工作簿文件,逐个读取文件,并使用pd.read_excel()
函数将工作簿数据读取为DataFrame,并将其追加到df
中。
在读取完所有工作簿数据后,可以使用groupby()
函数按组对数据进行求和。将希望按其进行求和的列名称传递给groupby()
函数。
然后,使用sort_values()
函数按照某一列的值排序DataFrame。将希望排序的列名传递给sort_values()
函数的by
参数,并设置ascending=False
以降序排列。
最后,可以将排序后的DataFrame打印出来,或者根据需要进行其他处理。
上一篇:按组求和并给出NA的R汇总
下一篇:按组求和的SQL