python - 当没有找到文件时,pandas read_csv 可以优雅地完成吗?

标签 python pandas

当我在没有找到文件的情况下搜索 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/

相关文章:

python - 用新的列名迭代合并 Pandas 列

python - 在 Python 中比较样本均值与随机分类

python - 如何使 Eclipse Python 调试器更可靠?

python - 订购用于绘图的多边形坐标

python - 查找数据框中的最大值

python - 使用具有公共(public)键的两个查询的结果来创建数据框,而无需使用合并

python - pandas:如何按多列分组并对多列执行不同的聚合?

python - Pandas:对给定列求和 DataFrame 行

python - 如何在 Jupyter 中通过 Selenium 和 Python 单击文本为 Find What County I'm In 的按钮

python - 3D CNN 在图像序列上的输入形状应该是什么?