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

Python将生成的TXT文件转换为CSV格式:技术求助

用Python将TXT文件转换为CSV的简单方法

嘿,别发愁!这个转换任务其实很适合新手入门,我给你两种最常用的实现方式,跟着代码走就行~

场景1:TXT内容用固定分隔符(空格/逗号/制表符)分隔

如果你的TXT文件每行的内容是用固定符号分开的(比如每行是 张三,25,北京 或者 李四 30 上海),直接用Python内置的csv模块就能搞定,代码超简单:

import csv

# 替换成你的TXT文件路径
txt_file_path = "input.txt"
# 替换成你要生成的CSV文件路径
csv_file_path = "output.csv"

# 打开TXT和CSV文件
with open(txt_file_path, 'r', encoding='utf-8') as txt_file, open(csv_file_path, 'w', newline='', encoding='utf-8') as csv_file:
    # 创建CSV写入器
    writer = csv.writer(csv_file)
    # 逐行读取TXT内容
    for line in txt_file:
        # 这里的分隔符要和你的TXT对应:比如逗号就用',',空格用' ',制表符用'\t'
        # 如果是多个空格分隔,就用split()(不带参数会自动分割任意数量的空格)
        row = line.strip().split(',')
        # 把每行内容写入CSV
        writer.writerow(row)

print("转换完成啦!")

小提示:

  • 如果你的TXT里是用多个空格分隔内容(比如张三 25 北京),把split(',')改成split()就行,它会自动忽略多余的空格。
  • newline=''是为了避免CSV里出现多余的空行,很重要哦!

场景2:TXT内容是固定长度的格式

如果你的TXT是类似这种固定长度的格式:

张三 25北京
李四 30上海

也就是说每个字段的位置是固定的(比如姓名占3位,年龄占2位,城市占2位),那可以用字符串切片来提取字段:

import csv

txt_file_path = "input.txt"
csv_file_path = "output.csv"

with open(txt_file_path, 'r', encoding='utf-8') as txt_file, open(csv_file_path, 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file)
    # 先写入表头(如果需要的话)
    writer.writerow(["姓名", "年龄", "城市"])
    for line in txt_file:
        line = line.strip()
        # 根据固定位置切片,这里的数字要根据你的实际格式调整
        name = line[0:3].strip()
        age = line[3:5].strip()
        city = line[5:7].strip()
        writer.writerow([name, age, city])

print("转换完成!")

额外注意事项

  • 记得替换代码里的文件路径,别直接用示例里的input.txt和output.csv哦!
  • 如果你的TXT文件有表头,记得在写入CSV的时候先写一行表头(就像场景2里那样),这样表格打开的时候会更清晰。
  • 如果遇到乱码问题,试试把encoding='utf-8'改成encoding='gbk',有些中文文件会用这个编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:11:46