我被分配了一项任务,其中包括将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
有人知道为什么会这样吗?我如何才能使函数按预期的方式运行?谢谢
我会避免使用正则表达式。它会起作用,但是如果您正在处理路径,您应该使用一个工具来处理路径,比如pathlib:
正则表达式不工作的原因是因为
if
语句。匹配对象不等于True。您可以改为执行if mo:
,这将有效。但是再一次。。。pathlib像这样的函数应该可以做到这一点:
相关问题 更多 >
编程相关推荐