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

如何用Python提取文本文件指定内容并转换为CSV文件

如何用Python提取文本文件数据并导出为CSV?

嗨,作为Python新手能走到读取文件这一步已经很棒啦!我来帮你搞定把这些分块的文本数据转成结构化CSV的需求。你的文本是按空行分隔数据块,每个块对应一条求职者信息,我们可以按以下步骤实现:

核心思路

  1. 把整个文件内容按空行分割成独立的求职者信息块
  2. 逐个解析每个块里的每行数据,转成键值对(比如"Current job title": "meter engineer")
  3. 把所有键值对收集起来,用Python内置的csv模块写入CSV文件

完整实现代码

import csv

# 1. 读取文件并分割数据块
with open("test.txt", "r") as f:
    # 读取全部内容,按空行分割成每个求职者的信息块
    # strip()去掉首尾可能的空白,split('\n\n')分割空行
    blocks = f.read().strip().split('\n\n')

# 2. 解析每个数据块,生成字典列表
data_list = []
for block in blocks:
    # 把当前块按换行分割成每行
    lines = block.split('\n')
    employee_data = {}
    for line in lines:
        # 去掉每行首尾的空白(比如换行符)
        line_clean = line.strip()
        # 按第一个冒号+空格分割键和值,split(':', 1)避免值里有冒号的情况
        key, value = line_clean.split(': ', 1)
        employee_data[key] = value
    data_list.append(employee_data)

# 3. 写入CSV文件
if data_list:
    # 用第一个数据块的键作为CSV表头(确保所有列都包含)
    fieldnames = data_list[0].keys()
    with open("employee_jobs.csv", "w", newline='', encoding='utf-8') as csvfile:
        # 创建DictWriter对象,自动按表头写入
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        # 写入表头
        writer.writeheader()
        # 写入所有数据行
        writer.writerows(data_list)
    print("CSV文件生成成功!")
else:
    print("没有读取到有效数据块")

代码解释

  • with open(...):用上下文管理器操作文件,不用手动关闭,更安全
  • 分割数据块:split('\n\n')精准把空行分隔的内容拆成独立块,完美适配你的文本格式
  • 解析每行:split(': ', 1)只分割第一个冒号,避免遇到值里有特殊符号的情况(比如薪资里的£符号完全不影响)
  • CSV写入:csv.DictWriter可以直接把字典对应到表头列,不用手动对齐位置,对新手非常友好

测试你的示例数据

运行代码后,生成的employee_jobs.csv会有以下清晰的结构化表格:

Current job titleCurrent salaryExperienceDesired locationDesired job titleDesired salaryJob Type
meter engineer£30,0002 yearsNot suppliedsmart meter engineer£30,000Permanent
dual fuel smart meter engineer£30,0004 yearsNot suppliedNot supplied£34,999Permanent

这样就完美实现了你要的“每个数据块对应CSV一行,标题对应列”的需求啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:39:06