Python Excel 数据处理:计算每行和与积并生成新表格
import\u0020tkinter\u0020as\u0020tk\nfrom\u0020tkinter\u0020import\u0020messagebox\nfrom\u0020tkinter\u0020import\u0020filedialog\nimport\u0020openpyxl\n\ndef\u0020open_file():\n\u0020\u0020file_path\u0020=\u0020filedialog.askopenfilename(filetypes=[('Excel\u0020Files',\u0020'.xlsx')])\n\u0020\u0020if\u0020file_path:\n\u0020\u0020\u0020\u0020try:\n\u0020\u0020\u0020\u0020\u0020\u0020workbook\u0020=\u0020openpyxl.load_workbook(file_path)\n\u0020\u0020\u0020\u0020\u0020\u0020sheet\u0020=\u0020workbook.active\n\u0020\u0020\u0020\u0020\u0020\u0020#\u0020获取单元格数据\n\u0020\u0020\u0020\u0020\u0020\u0020data\u0020=\u0020[]\n\u0020\u0020\u0020\u0020\u0020\u0020for\u0020row\u0020in\u0020sheet.iter_rows(values_only=True):\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020a,\u0020b,\u0020c\u0020=\u0020row[0],\u0020row[1],\u0020row[2]\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020row_sum\u0020=\u0020a\u0020+\u0020b\u0020+\u0020c\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020row_product\u0020=\u0020a\u0020\u0020b\u0020*\u0020c\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020data.append((row_sum,\u0020row_product))\n\u0020\u0020\u0020\u0020\u0020\u0020#\u0020创建新的工作簿和工作表\n\u0020\u0020\u0020\u0020\u0020\u0020new_workbook\u0020=\u0020openpyxl.Workbook()\n\u0020\u0020\u0020\u0020\u0020\u0020new_sheet\u0020=\u0020new_workbook.active\n\u0020\u0020\u0020\u0020\u0020\u0020#\u0020写入结果到新的表格\n\u0020\u0020\u0020\u0020\u0020\u0020for\u0020i,\u0020(row_sum,\u0020row_product)\u0020in\u0020enumerate(data):\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020new_sheet.cell(row=i+1,\u0020column=1,\u0020value=row_sum)\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020new_sheet.cell(row=i+1,\u0020column=2,\u0020value=row_product)\n\u0020\u0020\u0020\u0020\u0020\u0020#\u0020保存工作簿为新的Excel文件\n\u0020\u0020\u0020\u0020\u0020\u0020new_file_path\u0020=\u0020filedialog.asksaveasfilename(defaultextension=".xlsx")\n\u0020\u0020\u0020\u0020\u0020\u0020new_workbook.save(new_file_path)\n\u0020\u0020\u0020\u0020\u0020\u0020#\u0020创建弹窗并展示表格内容\n\u0020\u0020\u0020\u0020\u0020\u0020messagebox.showinfo("Excel\u0020Data",\u0020"结果已写入新的Excel文件。")\n\u0020\u0020\u0020\u0020\u0020\u0020except\u0020Exception\u0020as\u0020e:\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020messagebox.showerror("Error",\u0020str(e))\n\nroot\u0020=\u0020tk.Tk()\nroot.title("Excel\u0020Reader")\nroot.geometry("400x200")\n\nopen_button\u0020=\u0020tk.Button(root,\u0020text="Open\u0020File",\u0020command=open_file)\nopen_button.pack()\n\nroot.mainloop()\n
原文地址: https://www.cveoy.top/t/topic/pMOj 著作权归作者所有。请勿转载和采集!