簡體   English   中英

Python pd.read_excel - 在所有 Excel 表格中查找重復的行

[英]Python pd.read_excel - find duplicated rows in all Excel Sheets

我有一個 Excel 報告,三張紙上有幾百萬行。 我嘗試使用以下代碼導入整個 Excel 文件和所有工作表,並檢查所有工作表中的重復行並顯示所有重復行(第一行除外)。

如果我在沒有 sheet_name=None 的情況下運行代碼,它可以工作,但它只分析第一個工作表。

但是,當我添加參數 sheet_name=None 希望所有工作表都被檢查重復時 - 它不起作用,我得到一個錯誤。

import pandas as pd

df = pd.read_excel('Dup test.xlsx', sheet_name=None)
dups=df[df.duplicated()]
print(dups)

有誰知道為什么會這樣? 以及如何檢查我的 Excel 文件的每張紙中的重復行 - 請? 謝謝你。

這是錯誤:

Traceback(最近一次調用最后):文件“\eu.ad.hertz.com\userdocs\irac920\Desktop\My Files\Python\4.py”,第 4 行,在 dups=df[df.duplicated()] AttributeError : 'dict' object 沒有屬性 'duplicated'

您會收到屬性錯誤,因為當您指定 sheet_name=None 時,pandas 返回字典而不是 DataFrame。

>>> import pandas as pd
>>> df = pd.read_excel('import-order.xlsx', sheet_name=None)
>>> type(df)
<class 'dict'>
>>> df.keys()
dict_keys(['header', 'detail', 'ps_orders', 'ps_order_detail', 'Sheet5', 'Sheet7'])
>>> type(df['header'])
<class 'pandas.core.frame.DataFrame'>
>>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM