Pandas的read_csv方法支持多格式文件,为何名称仍保留csv后缀?
关于
pandas.read_csv命名保留csv后缀的核心原因 - 初始设计的场景定位
该函数最早推出时,核心目标就是处理工业界最通用的结构化文本格式逗号分隔值(CSV),是pandas第一个面向结构化文本的读取接口,直接用最典型的应用场景命名,用户的认知成本极低,也符合开发工具命名的常规逻辑。 - CSV本身不绑定文件后缀
很多人存在一个误区:觉得CSV是.csv后缀的专属格式,实际上CSV指代的是「用指定分隔符拆分字段、用换行拆分行的结构化文本组织规则」,和文件后缀没有强制绑定关系。你用到的普通文本文件只要符合这个规则,本质就属于CSV格式的范畴,read_csv的能力扩展只是覆盖了更多同规则的不同后缀存储形式,并没有脱离最初的功能定位。 - 向后兼容的硬性要求
pandas.read_csv是pandas生态里使用率最高的IO接口之一,从pandas 0.x版本就已经稳定对外提供,全球有数不清的存量业务代码、数据分析脚本在调用这个接口。如果因为功能扩展就修改函数名,会直接导致海量历史代码失效,不管是社区的维护成本还是用户的迁移成本都高到不可接受,因此开发者只会在原有函数的基础上叠加新的适配能力,不会调整已经成为事实标准的函数命名。
补充说明:pandas也提供了命名更通用的pandas.read_table接口,核心能力和read_csv几乎一致,仅默认分隔符设置不同,不过因为read_csv的普及度更高,绝大多数开发者还是习惯用它处理所有符合结构化分隔规则的文本文件。
内容的提问来源于stack exchange,提问作者hanugm
相关产品推荐
相关产品推荐

