提问人:techbump01 提问时间:11/14/2023 最后编辑:Corralientechbump01 更新时间:11/14/2023 访问量:68
根据列值将 Excel 文件拆分为多个文件
Split Excel File into multiple files based on column value
问:
我正在尝试将 excel 文件拆分为许多不同的 excel 文件,其中包含特定列的分组值。我还希望将每个 excel 文件命名为正在分组的特定值。示例:一个员工有 10 条记录,并且他们的员工 ID 都为“EMPLOYEE”。该员工的档案中将包含所有 10 条记录,文件名将是他们的 ID。 我能得到一些帮助吗?以下是我目前拥有的代码。
import pandas as pd #pip install pandas
import os
df = pd.read_excel('filename.xlsx')
column_name = 'EMPLOYEE'
unique_values = df[column_name].unique()
for unique_value in unique_values:
df_output = df[df[column_name].str.contains(unique_value)]
output_path = os.path.join('Lists', unique_value + '.xlsx')
df_output.to_excel(output_path, sheet_name=unique_value, index=False)
答:
0赞
Scott Boston
11/14/2023
#1
IIUC,试试这个:
import pandas as pd #pip install pandas
import os
df = pd.read_excel('filename.xlsx')
df.columns = df.columns.str.strip()
column_name = 'EMPLOYEE'
unique_values = df[column_name].unique()
for n, g in df.groupby(column_name):
output_path = os.path.join('Lists', f'{n}.xlsx')
g.to_excel(output_path, sheet_name=n, index=False)
评论
0赞
techbump01
11/14/2023
“Employee”中的值是整数
0赞
Scott Boston
11/14/2023
如果出现某种错误,可以用 n 换行。str(n)
评论