【发布时间】:2021-01-28 17:48:39
【问题描述】:
我被分配了一项任务,其中涉及将pd.read_csv() 和pd.read_excel() 函数合并为一个名为ingest() 的函数。我一直在尝试使用正则表达式,这样如果文件包含“.csv”,它将执行 read_csv() 函数,否则它将作为 excel 文件读取。
这是我目前的代码
rexf = re.compile((r'.csv'))
mo = rexf.search(dataframe)
if mo == True:
df = pd.read_csv(dataframe)
else:
df = pd.read_excel(dataframe)
return df
然后我使用名为“Smoking.csv”的文件调用此函数。这个文件在我使用pd.read_csv() 命令时有效,但在这里它发疯了,给了我这个错误
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found
有谁知道为什么会这样,以及如何让函数按预期运行?谢谢。
【问题讨论】:
-
检查
mo是什么。它要么是re.Match对象,要么是None,它们都不会是== True,所以你永远不会使用pd.read_csv,它会一直使用pd.read_excel