【发布时间】:2023-01-10 01:22:46
【问题描述】:
有人可以帮我解决以下问题:
-
我有多个 excel 文件,其中一些有 3 列('Year'、'Car'、'Price'),其他有 5 列('Year'、'Car'、'Color'、'Places'、'Country') ;
-
在每个文件的特定列(“年份”)中,我想按年份对行进行分组;
-
然后我想将这些行组保存在一个新文件的不同工作表中。
我的实际问题是,当 python 从这些文件中读取行并将行分组时,我的代码只会将最后一个文件保存为红色。
非常感谢!
from tkinter import filedialog
import pandas as pd
window = Tk()
window.title("title")
#(etc.)
label .pack()
def action():
all_files = filedialog.askopenfilename(initialdir = "/",
multiple=True,
title="select",
filetypes=(
("all files", "*.*"),
("Excel", "*.xlsx*")))
dossier=filedialog.askdirectory()
final=pd.DataFrame()
first=True
for f in all_files:
step1 =pd.read_excel(f,sheet_name=0)
final=step1
final['Year']=final['Year'].apply(str)
lst1=final.groupby('Year')
lst0=lst1.get_group('2013')
with pd.ExcelWriter(dossier+'\\sells.xlsx') as writer:
lst0.to_excel(writer, sheet_name='2013',index=False)
tkinter.messagebox.showinfo("Files", "Ready")
【问题讨论】:
标签: python pandas database openpyxl