You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas的read_csv读取csv文件时如何将同一列导入两次

问题原因

你写的代码失效是因为pandas的usecols参数会自动对传入的重复列名做去重处理,因此即使填入两次相同列名,最终也只会导入一次该列。

解决方法

方法1(最推荐):导入后直接复制列

仅需导入一次目标列,拿到DataFrame后直接复制生成第二列,按需修改列名即可,性能最好,实现最简单:

include_cols = ['stackoverflow']
enterprise = pd.read_csv(url, encoding = 'unicode_escape', sep="|", usecols=include_cols)
# 复制列,可自定义新列的名称
enterprise['stackoverflow_new'] = enterprise['stackoverflow']

方法2:读取两次单列后合并

如果有特殊场景需要在读取阶段就生成两列,可以分别读取两次目标列后按行拼接,该方法需要读取两次文件,大文件场景不推荐:

# 第一次读取目标列并重命名
col1 = pd.read_csv(url, encoding = 'unicode_escape', sep="|", usecols=['stackoverflow']).rename(columns={'stackoverflow':'stackoverflow_1'})
# 第二次读取目标列并重命名
col2 = pd.read_csv(url, encoding = 'unicode_escape', sep="|", usecols=['stackoverflow']).rename(columns={'stackoverflow':'stackoverflow_2'})
# 按列拼接得到最终结果
enterprise = pd.concat([col1, col2], axis=1)

内容的提问来源于stack exchange,提问作者Jonnyboi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:45:04