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

Python使用pandas提取CSV列写入txt被截断如何显示全部行

问题原因

内容截断是pandas的默认显示规则导致的:当DataFrame的行数、列数超过预设的显示阈值时,对DataFrame做str()转换只会返回首尾部分内容的预览,中间用省略号替代,末尾还会附带行列数统计,并不是读入的数据有缺失,只是输出逻辑做了折叠。

解决方法

你可以根据自己需要的输出格式选对应方案:

方案1:直接导出列内容(推荐,代码最简、效率最高)

如果你只需要job_name列的所有值,不需要行号、列名、行列统计这类额外信息,直接用pandas自带的导出方法即可,不需要手动写文件:

import pandas as pd

df = pd.read_csv("data.csv")
# 导出单列为纯文本,不保留行索引、不保留列名
df["job_name"].to_csv("results.txt", index=False, header=False, encoding="utf-8")

如果你需要保留原输出里的行号前缀,和之前的格式完全对齐,可以用遍历写入的写法:

import pandas as pd

df = pd.read_csv("data.csv")
with open("results.txt", "w", encoding="utf-8") as f:
    for row_idx, job_name in df["job_name"].items():
        f.write(f"{row_idx}\t{job_name}\n")

方案2:修改pandas显示配置,保留原输出格式

如果你就想保留str(df1)的完整输出格式,只是去掉省略号,可以在代码开头修改pandas的全局显示参数,取消行数限制:

import pandas as pd

# 关闭行数显示限制,输出全部行
pd.set_option("display.max_rows", None)
# 可选:关闭列内容长度限制,避免长文本被截断
pd.set_option("display.max_colwidth", None)

df = pd.read_csv("data.csv")
df1 = df[["job_name"]]
with open("results.txt", "w", encoding="utf-8") as f:
    f.write(str(df1))

注意:写文件时建议用with open()的上下文管理器写法,会自动完成文件关闭操作,避免文件句柄泄漏;手动指定encoding="utf-8"可以避免不同系统下打开文件出现乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:57:25