几分钟前我的功能完美无缺。没有修改代码,只是安装了PyAudio。我按照主题得到错误。从命令行或IDE运行它并不重要,同样的错误。有什么想法吗?
def DataFinder():
#imports and initialize
import pandas as pd
import tkinter as tk
finder = tk.Tk()
finder.withdraw()
__dataFlag = False
#ask user to select a file
__path = tk.filedialog.askopenfilename()
#check the extension to handle reader
#for csv files
if __path.endswith('.csv')==True:
df = pd.read_csv(__path,header=0)
return df
__dataFlag = True
#and for excel files
elif __path.endswith('.xls')==True:
df = pd.read_excel(__path,header=0)
return df
__dataFlag = True
#if a file is not a supported type display message and quit
else:
__dataFlag = False
#check if there is a data to be returned
if __dataFlag==True:
return df
else:
print('The file format is not supported in this version.')
答案 0 :(得分:4)
以下代码对我不起作用:
import tkinter as tk
import tkinter.filedialog
但是以下方法确实有效:
import tkinter
import tkinter.filedialog
还有这个:
import tkinter.filedialog
import tkinter as tk
希望这会有所帮助
如@VaidøtasI.所述,您无法从filedialog
导入tkinter
。因为您不是导入原始的tkinter
,而是导入别名版本tk
。
答案 1 :(得分:1)
显式导入filedialog可以解决此问题。 因此,您只需要将此行添加到代码中即可:
import tkinter.filedialog
您可以在Why tkinter module raises attribute error when run via command line but not when run via IDLE?
中找到更多信息。