Pandas read_csv取单列得Series 如何生成单列DataFrame完整存文本
提取单列生成DataFrame的实现方法
要从原DataFrame中提取单列且返回结果仍为DataFrame(而非Series),只需使用双层方括号传入列名列表即可,示例代码如下:
# 提取Text列,返回单列表DataFrame single_col_df = df[["Text"]]
规则说明:Pandas中使用单层方括号
df["列名"]时返回Series对象;只要方括号内传入的是列名组成的列表(哪怕列表里只有1个列名),返回结果就一定是DataFrame结构。
文本保存截断问题的解决方案
你遇到的转字符串后保存仅显示每行第一句的问题,本质是保存时未处理特殊字符、默认参数把文本内的逗号/换行识别成分隔符导致的,可根据需求选以下方案:
- 方案1:使用上述单列DataFrame完成类型转换后保存,全程保持DataFrame结构
# 类型转换 single_col_df["Text"] = single_col_df["Text"].astype("string") # 保存为纯文本文件,关闭索引、表头,开启全字段引号避免特殊字符截断 single_col_df.to_csv( "output.txt", index=False, header=False, quoting=1 )
- 方案2:无需转成DataFrame,直接对Series对象调整保存参数即可解决截断问题
text_series = df["Text"].astype("string") text_series.to_csv( "output.txt", index=False, header=False, quoting=1 )
参数解释:
index=False用于取消写入Pandas自动生成的行索引,header=False用于取消写入列名行,quoting=1会给所有文本内容包裹引号,避免文本内部的逗号、换行符被识别为字段分隔符,导致内容被截断拆分。
内容的提问来源于stack exchange,提问作者Gabry
相关产品推荐
相关产品推荐

