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

pandas将DataFrame存入CSV时如何避免整行被识别为单个字符串

问题原因

你当前代码的my_list中每个元素都是提前用逗号拼接好的单个字符串,pandas构造DataFrame时会把这整个字符串识别为单列的值。CSV导出时因为值内部包含逗号分隔符,pandas会自动添加双引号做转义,最终就出现了Excel打开后整行数据挤在一个单元格带引号的问题。

修复方案

修改列表追加逻辑,不要预拼接字符串,直接存储多元素的列表/元组,保证DataFrame初始化时就是多列结构:

import pandas as pd

my_list = []
# 请确保你提前定义的columns变量包含3个列名,和数据列数对应
columns = ["列1", "列2", "列3"]
fname = "你的文本文件路径"

with open(fname,'r') as f:
    for line in f:
        if 'text' in line:
            # 改为存储3个值组成的列表,不要预拼接逗号
            my_list.append([line[2], line[10], line[5]])

df = pd.DataFrame(my_list, columns=columns)

# 导出时加index=False可以避免导出多余的行索引列,加encoding参数避免Excel打开中文乱码
df.to_csv('my_file.csv', index=False, encoding='utf_8_sig')
补充说明

如果你不需要保留列名导出,可以在to_csv方法中添加header=False参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:06:01