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

如何使用Python将键值对格式的TXT文件转换为标准CSV文件

解决方案

原代码存在的问题

  • 没有对每行的键: 值做正确拆分,错误将冒号、空格替换为单引号,完全偏离数据提取的需求
  • 没有分别存储表头(键)和对应值,空列表s没有被填充任何有效数据
  • 文件操作没有做资源释放处理,容易出现文件句柄泄漏

正确实现代码

#!/usr/bin/python
# -*- coding:utf-8 -*-
import csv

headers = []
values = []

# 读取txt键值对文件
with open("in.txt", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        # 跳过空行
        if not line:
            continue
        # 按第一个冒号+空格拆分,避免值内部存在冒号时拆分错误
        key, value = line.split(": ", 1)
        headers.append(key)
        values.append(value)

# 写入CSV文件
with open("out.csv", "w", encoding="utf-8", newline="") as f:
    # QUOTE_ALL参数会自动为所有字段包裹双引号
    csvex = csv.writer(f, quoting=csv.QUOTE_ALL)
    csvex.writerow(headers)
    csvex.writerow(values)

说明

  • 拆分字符串时指定最大拆分次数为1,兼容值内部存在冒号的场景
  • 写CSV时添加newline=""是Windows平台兼容配置,可避免生成的CSV出现多余空行
  • 使用with上下文管理器自动管理文件句柄,无需手动调用close()释放资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:36:03