Python 请问如何用 python 实现表格去重不改变原表格格式

Yun · 2023年05月23日 · 最后由 知行 回复于 2023年05月25日 · 5300 次阅读

表格去重代码
import pandas as pd
EXCEL_FILE_PATH = input("input the file:")
df = pd.read_excel(EXCEL_FILE_PATH,sheet_name = 'Sheet1')
df = df.drop_duplicates(subset = ['修改内容'])
df.to_excel(excel_writer = 'new1.xlsx')
执行上述代码,结果表格格式发生改变,请问通过什么方法可以实现去重后不改变表格格式

共收到 9 条回复 时间 点赞

用另外一个库 openpyxl 可以做到

import pandas as pd
from openpyxl import load_workbook

EXCEL_FILE_PATH = input("请输入文件路径:")

# 使用 pandas 进行去重
df = pd.read_excel(EXCEL_FILE_PATH, sheet_name='Sheet1')
df = df.drop_duplicates(subset=['修改内容'])

# 使用 openpyxl 写回原有的Excel文件
book = load_workbook(EXCEL_FILE_PATH)
writer = pd.ExcelWriter(EXCEL_FILE_PATH, engine='openpyxl') 
writer.book = book

df.to_excel(writer, index=False, header=False, startrow=writer.sheets['Sheet1'].max_row)
writer.save()
writer.close()

可以试试这个

花菜 回复

牛,这个 chatGPT,真心好用

Yun #6 · 2023年05月24日 Author
花菜 回复

跑了下报错呢,另外原表格损坏了
报错代码:df.to_excel(writer, index=False, header=False, startrow=writer.sheets['Sheet1'].max_row)
KeyError: 'Sheet1'

这么搞下去,论坛也迟早成为 AI 的炮灰😁

windows 系统用 win32com

Yun #7 · 2023年05月24日 Author
知行 回复

请问具体怎么实现呢

Yun #2 · 2023年05月24日 Author
johngao 回复

这 ai 提供的方法没有解决呢,看来还是不太行……

Yun 回复

需要自己写,最简单的办法,丢列表遍历,找出重复行,删掉重复数据再保存就行了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册