Python读取csv文件时如何避免重复列名自动添加数字后缀
解决方法
pandas的read_csv方法默认开启了重复列名重命名逻辑,会自动给重复的列名添加.数字后缀避免冲突,你可以选择以下任意一种方法实现需求:
方法1:读取时直接关闭重命名逻辑
在调用read_csv时新增mangle_dupe_cols=False参数,关闭自动重命名重复列名的功能即可,修改后代码如下:
import pandas as pd mycsv = pd.read_csv('1.csv', index_col=None, skiprows=0, mangle_dupe_cols=False) for k in range(0, 11): link = mycsv.columns[k] print(link)
方法2:读取后手动处理列名(兼容所有pandas版本)
如果因为版本问题方法1不生效,可以读取后用正则批量去除列名末尾的.数字后缀,代码如下:
import pandas as pd mycsv = pd.read_csv('1.csv', index_col=None, skiprows=0) # 正则匹配并删除列名末尾的.加数字后缀 mycsv.columns = mycsv.columns.str.replace(r'\.\d+$', '', regex=True) for k in range(0, 11): link = mycsv.columns[k] print(link)
内容的提问来源于stack exchange,提问作者Barkat Ullah
相关产品推荐
相关产品推荐

