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

使用to_csv导出CSV时内容仅一列,求逗号分隔列解决方案

解决CSV导出后内容仅显示在一列的问题

嘿,我之前也碰到过一模一样的情况!导出的CSV打开后所有内容挤在一列,多半是分隔符设置问题或者默认打开工具(比如Excel)识别错误导致的,给你几个实用的解决思路:

  • 显式指定CSV分隔符,确保导出格式正确
    虽然pandas默认用逗号作为分隔符,但有时候环境配置或隐式设置会干扰这个默认行为,所以直接在to_csv里明确指定sep=','更稳妥。另外建议加上index=False避免把DataFrame的索引列也导出(除非你需要),同时注意你代码里的Curency拼写错误,应该是Currency,不然会触发逻辑错误:

    for i, g in df.sort_values("date").groupby("country", sort=False):
        if Currency == 'USD':
            g.to_csv('{}_USD.csv'.format(i), sep=',', index=False)
        else:
            g.to_csv('{}_NK.csv'.format(i), sep=',', index=False)
    
  • 调整Excel的导入设置,正确识别分隔符
    如果用文本编辑器打开CSV能看到逗号分隔的内容,但Excel打开还是挤在一列,那是Excel默认的分隔符识别规则的问题。你可以用Excel的导入功能来正确解析:

    1. 打开Excel,切换到「数据」选项卡
    2. 选择「自文本/CSV」,选中你的CSV文件
    3. 在导入预览界面,把分隔符设置为「逗号」,完成导入后内容就会自动分栏显示了
  • 处理含特殊字符的字段(可选)
    如果你的数据单元格里本身包含逗号(比如描述类字段),可能会导致分隔符识别混乱。可以导入csv模块,强制所有字段用引号包裹,避免歧义:

    import csv
    for i, g in df.sort_values("date").groupby("country", sort=False):
        if Currency == 'USD':
            g.to_csv('{}_USD.csv'.format(i), sep=',', index=False, quoting=csv.QUOTE_ALL)
        else:
            g.to_csv('{}_NK.csv'.format(i), sep=',', index=False, quoting=csv.QUOTE_ALL)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:33:13