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

如何在Python Colab中拆分CSV文件第三列的逗号分隔字符串?

Colab 环境下拆分CSV第3列国家名称的实现方案

操作全程基于pandas实现,不需要额外安装依赖,Colab环境已预装对应库

第一步:加载目标CSV文件

  • 导入pandas库
    import pandas as pd
    
  • 如果你是从本地上传CSV到Colab执行,先调用Colab的文件上传接口:
    from google.colab import files
    # 执行后会弹出文件选择框,选中你的CSV文件即可
    uploaded = files.upload()
    
  • 读取CSV内容生成DataFrame:
    # 替换引号内为你实际上传的CSV文件名
    df = pd.read_csv("your_csv_file.csv")
    

注意:pandas列索引从0开始计数,你提到的第3列,对应的列索引值为2,后续所有操作都通过这个索引定位目标列,不会因为列名变动导致定位失败

第二步:根据需求拆分提取国家名称

场景1:拆分后将每个国家展开为独立行(保留原表其他列信息)

如果原表某一行的第3列存了Argentina,Chile,USA,执行后会把这一行拆成3行,每行对应一个国家,其他列的内容自动复用:

# 按逗号拆分目标列,生成列表格式的临时列
df["country_list"] = df.iloc[:, 2].str.split(",")
# 展开列表为独立行
df_with_countries = df.explode("country_list")
# 清理拆分后每个国家名前后的多余空格,避免出现 " USA" 这类带空格的脏数据
df_with_countries["country_list"] = df_with_countries["country_list"].str.strip()

提取完成后你可以直接导出结果下载:

# 导出为新的CSV
df_with_countries.to_csv("extracted_country_data.csv", index=False)
# 触发Colab的文件下载
files.download("extracted_country_data.csv")

场景2:收集全表所有出现过的国家名称,生成去重的国家列表

如果不需要保留原表其他列,只是要汇总全表所有国家名,直接执行:

# 拆分目标列、展开为单值序列、去空值、去重、转为普通列表
all_unique_countries = (
    df.iloc[:, 2]
    .str.split(",")
    .explode()
    .str.strip()
    .dropna()
    .unique()
    .tolist()
)
# 直接打印查看提取结果
print(all_unique_countries)

常见问题排查

  • 如果你的CSV没有表头(第一行就是纯数据),读取时需要加上参数header=None,即df = pd.read_csv("your_csv_file.csv", header=None),此时第3列的索引依然为2,不影响后续定位。
  • 如果目标列存在空值,拆分前先补空避免报错:在拆分代码前加df.iloc[:, 2] = df.iloc[:, 2].fillna("")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 08:54:03