AttributeError:'dict'对象没有属性'drop_duplicates'

时间:2020-08-01 18:08:21

标签: python pandas dataframe

正在获取AttributeError:运行此代码时,'dict'对象没有属性'drop_duplicates',有什么办法解决此问题吗?

第一个模块界面。py

import tkinter as tk
from tkinter import filedialog
import pandas as pd

root= tk.Tk()

canvas1 = tk.Canvas(root, width = 720, height = 360, bg = 'lightsteelblue')
canvas1.pack()

def getExcel ():
    global df
    
    import_file_path = filedialog.askopenfilename()
    df =  pd.read_excel(import_file_path, sheet_name=None)
    return df
    
browseButton_Excel = tk.Button(text='Import Excel File', command=getExcel, bg='green', fg='white', font=('helvetica', 12, 'bold'))
canvas1.create_window(360, 180, window=browseButton_Excel)

root.mainloop()

第二个模块

import interface

bgxp = []
data = interface.df
#data = pd.ExcelFile(r'C:\Users\us\Desktop\grauation project\Deliveries 12-3-2017.xlsx') 
#data = pd.concat(pd.read_excel('Todays sheet.xlsx', sheet_name=None), ignore_index=True)
#data1 drops all dublicates from sheet 
data1 = data.drop_duplicates(subset=["Ref/Lic Nr"], keep="first")
#data = interface.df 
cr = pd.DataFrame(data1,columns= ['Carrier'])
rf = pd.DataFrame(data1,columns= ['Ref/Lic Nr'])

#Locks data from column 
amtg = data1.loc[data1.Carrier=='AMTG', 'Ref/Lic Nr']
#  without index
amtg1=(amtg.to_string(index=False, header=False))

1 个答案:

答案 0 :(得分:0)

pd.read_excel

返回数据框或数据框的字典

当您指定sheet_name=None时,它将读取所有工作表,因此返回的对象是{sheet_name: pd.DataFrame}

形式的DataFrame的字典

如果所有工作表共享相似的字段,一个很好的解决方案是将其转换为MultiIndexed DataFrame,在工作表中将工作表名称添加为第0个索引级别。

df = pd.concat(pd.read_excel(import_file_path, sheet_name=None))

否则,您需要遍历该字典。