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

使用pandas将多空格分隔文本转为指定列CSV的问题求助

解决方案

原始文本的特征是第一列为纯数字、最后一列为单个标识字符,中间带空格的内容为完整地址,直接按空格拆分或普通分隔符读取会破坏地址结构,可通过以下两种方案实现需求:

方法1:纯Python原生实现(无需第三方依赖,逻辑灵活)

# 配置输入输出路径
input_txt_path = "你的原始文本路径.txt"
output_csv_path = "导出目标路径.csv"

with open(input_txt_path, "r", encoding="utf-8") as txt_file, open(output_csv_path, "w", encoding="utf-8") as csv_file:
    # 写入表头
    csv_file.write("Number,Address,In_Out\n")
    for line in txt_file:
        line = line.strip()
        if not line:
            continue # 跳过空行
        parts = line.split()
        number = parts[0]
        in_out = parts[-1]
        address = " ".join(parts[1:-1]).strip()
        # 写入处理后的行
        csv_file.write(f"{number},{address},{in_out}\n")

方法2:Pandas实现(适合需要后续数据处理的场景)

import pandas as pd

# 读取原始文本,每行先作为单独的原始列存储
df = pd.read_csv("你的原始文本路径.txt", header=None, names=["raw_content"])

# 拆分提取三列内容
df["Number"] = df["raw_content"].str.split().str[0]
df["In_Out"] = df["raw_content"].str.split().str[-1]
df["Address"] = df["raw_content"].apply(lambda x: " ".join(x.split()[1:-1]).strip())

# 导出目标CSV
df[["Number", "Address", "In_Out"]].to_csv("导出目标路径.csv", index=False, encoding="utf-8")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:36:07