用pandas 将两个表格的相同sheet页面的相同单元格的 数据相加 如果是文本就跳过,如果是数字就相加
时间: 2024-02-18 10:00:25 浏览: 136
好的,以下是一个使用Pandas库来将两个Excel文件的相同sheet页面的相同单元格的数据相加的示例代码:
```python
import pandas as pd
import tkinter as tk
from tkinter import filedialog
# 打开第一个Excel文件
def open_file1():
global df1
path = filedialog.askopenfilename()
if not path.endswith(".xlsx"):
tk.messagebox.showerror("错误", "请选择一个Excel文件")
return
df1 = pd.read_excel(path)
# 打开第二个Excel文件并将数据相加
def open_file2():
global df1
path = filedialog.askopenfilename()
if not path.endswith(".xlsx"):
tk.messagebox.showerror("错误", "请选择一个Excel文件")
return
df2 = pd.read_excel(path)
for index, row in df2.iterrows():
if row["A"] in df1["A"].values:
i = df1.index[df1["A"] == row["A"]][0]
if isinstance(row["B"], str):
continue
elif isinstance(row["B"], int):
df1.at[i, "B"] += row["B"]
tk.messagebox.showinfo("结果", "数据已相加")
# 创建GUI界面
root = tk.Tk()
root.title("将两个Excel文件的相同sheet页面的相同单元格的数据相加")
root.geometry("400x150")
# 添加按钮
button1 = tk.Button(root, text="打开第一个Excel文件", command=open_file1)
button1.pack(pady=10)
button2 = tk.Button(root, text="打开第二个Excel文件并将数据相加", command=open_file2)
button2.pack(pady=10)
root.mainloop()
```
此代码使用Pandas库来读取两个Excel文件并将它们的数据相加。首先,打开第一个Excel文件并将其存储在df1变量中。然后,打开第二个Excel文件,并使用iterrows()方法遍历它的每一行。对于每一行,检查它的A列值是否存在于第一个Excel文件的A列中。如果是,则找到相应的行并将其B列值加到第一个Excel文件的相应行的B列中。如果B列值是字符串,则跳过该行;如果是数字,则将其相加。
希望这可以帮助您使用Pandas来完成您的任务!
阅读全文