Pandas读取CSV文件时如何设置与重命名列名

Ruby
Ruby
发布时间:2026-10-13 | 4人浏览过
原创

本文详解在Pandas中使用read_csv读取CSV文件时如何灵活处理列名。涵盖文件自带标题、自定义重命名、无标题文件处理等场景。重点讲解header和names参数的正确用法,特别是避免在读取无标题文件时误用header=0导致首行数据丢失的关键注意事项,帮助开发者高效管理数据列结构。

Pandas读取CSV文件时如何设置与重命名列名

当CSV文件本身已经包含列标题时,Pandas默认会自动将第一行识别为列名。此时无需额外参数,直接读取即可保留原有的列结构。


import pandas as pd 

df_example = pd.read_csv('Pandas_example_read.csv')
# 等同于:
df_example = pd.read_csv('Pandas_example_read.csv', header=0)

已有列标题时的自定义重命名方法

如果CSV文件包含列标题,但用户希望将其替换为自定义的列名,可以通过两种主要方式实现:一是在读取完成后重新赋值列名,二是在读取过程中直接指定新列名。

这两种方法(后续将介绍的2.1和2.2)最终效果一致,均能实现读取文件并修改列名的目的。

方法2.1:在读取数据后自定义标题。

import pandas as pd df_example = pd.read_csv('Pandas_example_read.csv') df_example.columns = ['A','B','C']

方法2.2:在读取数据的同时指定自定义标题。

df_example = pd.read_csv('Pandas_example_read.csv', names=['A', 'B','C']) # 或者 df_example = pd.read_csv('Pandas_example_read.csv', header=0, names=['A', 'B','C'])

无列标题CSV文件的处理与注意事项

若CSV文件不包含列标题,数据从第一行开始即为实际内容,此时需特殊处理以确保列名正确生成。

df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', header=None)

这种情况下必须添加参数'header=None',这样Pandas会将读取进来的列名默认为系统生成的整数序列号,即0、1、2……

对于没有列标题的CSV文件,如果用户希望手动添加列标题,同样有两种操作路径。

路径4.1:先读取数据,随后再添加标题。

df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', header=None) df_example_noCols.columns = ['A', 'B','C']

路径4.2:在读取数据的同时添加标题。

df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', names=['A', 'B','C']) # 或者 df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', header=None, names=['A', 'B','C'])

特别注意:在此场景下不可使用'header=0'。若误用该参数,Pandas会将第一行数据误认为列名,随后又被names参数重命名覆盖,最终导致第一行的实际数据丢失。

以上内容涵盖了Pandas读取CSV时列名设置的主要场景与操作细节,希望对相关学习与应用有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表