我允许用户上传CSV或Excel文件。我正在使用pandas读取文件并创建一个数据帧。由于我无法预测用户将上载哪种文件类型,所以我将pd.read_csv()和pd.read_excel()包装在try/except块中。if form.validate_on_submit():
input_filename = secure_filename(form.file.data.filename)
try:
df = pd.read_csv(form.file.data, header=0, skip_blank_lines=True, skipinitialspace=True, encoding='latin-1')
except:
df = pd.read_excel(form.file.data, header=0, skip_blank_lines=True, skipinitialspace=True, encoding='latin-1')
如果pd.read_csv()是try/except块中的第一个,并且我上载了一个.csv文件,则它可以工作。如果尝试上载.xlsx文件,则会出现以下错误:TypeError: expected str, bytes or os.PathLike object, not NoneType
如果pd.read_excel()是try/except块中的第一个,并且我上载了一个.xlsx文件,它就可以工作。如果尝试上载.csv文件,则会出现以下错误:pandas.io.common.EmptyDataError: No columns to parse from file
以前,我使用mimetype将文件路由到正确的pandas函数,但我希望