当我在没有找到文件的情况下搜索 pandas 的 read_csv 函数时,我发现很多问题询问“如果我的文件存在,为什么找不到它?”
我的问题不同。我知道该文件不存在。
因此,当我调用 read_csv
时,我收到 FileNotFoundError。
我知道我可以尝试 except 来捕获错误,但是有没有一种优雅的方式来指示函数我不希望出现错误,例如返回空值或无值?
最佳答案
read_csv的工作是读取文件,而不是检查文件是否存在。您可以使用 pathlib 来做到这一点的路径
。您也可以传递一个 Path
对象 t read_csv
而不是字符串,这意味着您可以执行以下操作:
from pathlib import Path
import pandas as pd
file=Path("path/to/file.csv")
if file.exists():
df=pd.read_csv(file)
...
您必须决定如果路径不存在该怎么办。最简单的选择是不继续处理。
如果调用代码期望它具有特定的列,那么返回一个空的 Dataframe 是不够的。您必须创建一个包含这些列但没有行的数据框。
if file.exists():
df=pd.read_csv(file)
...
return df
else:
column_names = ["ColA", "ColB", "ColC"]
return pd.DataFrame(column_names)
关于python - 当没有找到文件时,pandas read_csv 可以优雅地完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73945197/