我正在浏览Pandas文档,并通过Read_csv()方法here,我看到最新版本(2.2稳定版)只提到了3个引擎:

engine: {‘c’, ‘python’, ‘pyarrow’}, optional

然而,在我的PyCharm(带有Pandas版本2.2.0)中,我可以看到也提到了第四个引擎,即python-fwf

enter image description here

我在pandas文档中搜索过,但找不到任何关于这方面的信息. 有人能解释一下在什么情况下应该使用这个吗?

注意:我知道有一个pandas.read_fwf()可以用来将固定宽度的格式化行读入DataFrame.引擎是否与此场景相关联?如果是,为什么我们应该使用python-fwf引擎的read_csv()而不是read_fwf()

推荐答案

注意:我知道有一个pandas.read_fwf()可以用来将固定宽度的格式化行读入DataFrame.引擎是否与此场景相关联?

绝对一点儿没错.read_fwf将此engine定义为默认设置:

# PythonParser is used for python engine
# FixedWidthFieldParser is used for python-fwf
kwds["engine"] = "python-fwf"

python-fwf发动机是CSVEngine:

CSVEngine = Literal["c", "python", "pyarrow", "python-fwf"]

这就是为什么您可以在您的IDE中看到这一点,因为CSVEngine已经扩展到Literal[...].

然而,documentation隐藏了read_tableread_csv的这个引擎,因为它与这些功能无关:

engine : {{'c', 'python', 'pyarrow'}}, optional
    Parser engine to use. The C and pyarrow engines are faster, while the python engine
    is currently more feature-complete. Multithreading is currently only supported by
    the pyarrow engine.

有人能解释一下应该在什么情况下使用吗?

无:-)只有文档具有(应该)权威性.

Python相关问答推荐

有没有办法清除气流中的僵尸

如何计算部分聚合数据的统计数据

Twilio:CallInstance对象没有来自_的属性'

在Windows上启动新Python项目的正确步骤顺序

Python -Polars库中的滚动索引?

Python 3.12中的通用[T]类方法隐式类型检索

韦尔福德方差与Numpy方差不同

重新匹配{ }中包含的文本,其中文本可能包含{{var}

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

_repr_html_实现自定义__getattr_时未显示

通过Selenium从页面获取所有H2元素

为什么符号没有按顺序添加?

Pandas 都是(),但有一个门槛

Scrapy和Great Expectations(great_expectations)—不合作

当点击tkinter菜单而不是菜单选项时,如何执行命令?

索引到 torch 张量,沿轴具有可变长度索引

使用Python从URL下载Excel文件

Python中的变量每次增加超过1

使用Python从rotowire中抓取MLB每日阵容

基于多个数组的多个条件将值添加到numpy数组