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

Python如何将单行无换行txt文件按规则拆分解析为对应变量

问题解决思路

你的文件没有换行符,readlines() 方法依赖换行符识别行边界,这种场景下只会读入1个包含全量内容的字符串元素,自然无法直接拆分。因为所有记录格式固定、单条长度完全一致,直接按固定长度切片即可完成拆分,不需要额外插入换行符,也不要用全局split()——单条记录内部本身存在分隔空格,全局拆分只会把内容切为零散片段,无法匹配固定位置规则。

具体实现代码
# 读取文件全量内容,自动处理文件关闭
with open('FileName.txt', 'r', encoding='utf-8') as f:
    total_content = f.read().strip()

# 单条记录固定长度:前19位连续编码+1位空格+后6位编码,合计26字符
single_record_len = 26
# 按固定长度切分所有记录
record_list = [total_content[i:i+single_record_len] for i in range(0, len(total_content), single_record_len)]

parse_result = []
for record in record_list:
    # 按固定位置截取5个变量
    var1 = record[0:5]
    var2 = record[5:10]
    var3 = record[10:15]
    var4 = record[15:19]
    var5 = record[20:26] # 跳过第19位的空格
    parse_result.append({
        "var1": var1,
        "var2": var2,
        "var3": var3,
        "var4": var4,
        "var5": var5
    })

# 输出校验结果
for item in parse_result:
    print(item)
校验提示
  • 正常情况下20条固定长度记录的总字符数应为20*26=520,可以先打印len(total_content)核对长度,如果数值不符,先检查文件头尾是否存在多余的空格、特殊字符,清理后再解析。
  • 如果文件编码不是utf-8,把open方法里的encoding参数改成对应编码即可,比如gbk。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:36:25