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

如何使用Python去除pandas DataFrame列值中的单引号

修复方案

问题原因

你的代码不生效有两个核心问题:

  • 你调用replace('"', "")是替换双引号,你需要处理的是单引号,符号不匹配
  • Pandasreplace方法默认是全单元格匹配替换,只有当单元格内容完全等于你传入的字符时才会触发替换,无法匹配到包裹在内容两侧的单引号

修复代码

有两种常用的实现方案,按需选择即可:

方案1:读取CSV时直接处理(效率最高)

如果你的CSV里所有单引号都是用来包裹字段值的边界符号,直接在读取时指定quotechar参数,会自动识别并剥离外层单引号:

import pandas as pd

all_dat_list = []
for blob in blobs:
    dat = pd.read_csv(
        f"gs://{bucket_name}/{blob.name}",
        quotechar="'", # 指定单引号为字段包裹符号,读取时自动去除
        dtype={"Fresh_ID": str, "Simpler_ID": str} # 若需要保留ID的前导零,指定字段为字符串类型,避免被转成数字丢失前导零
    )
    all_dat_list.append(dat)

# 合并所有数据,这里用concat替代已废弃的append方法
all_dat = pd.concat(all_dat_list, ignore_index=True)

all_dat.columns = column_names
print(all_dat)

方案2:读取后全局替换单引号

如果你的数据里单引号是混杂在内容中间的,不是统一的字段包裹符号,用正则替换模式全局清除所有单引号:

import pandas as pd

all_dat_list = []
for blob in blobs:
    dat = pd.read_csv(f"gs://{bucket_name}/{blob.name}")
    all_dat_list.append(dat)

all_dat = pd.concat(all_dat_list, ignore_index=True)
# 开启正则模式,替换所有单元格内的单引号
all_dat = all_dat.replace("'", "", regex=True)

all_dat.columns = column_names
print(all_dat)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:07