当前位置:首页>python>Python教程:把.txt数据封装成.json数据的示例用法

Python教程:把.txt数据封装成.json数据的示例用法

  • 2026-10-11 07:54:50
Python教程:把.txt数据封装成.json数据的示例用法

Python,速成心法

敲代码,查资料,问Ai

练习,探索,总结,优化

★★★★★博文创作不易,源码代码的过程中,如有疑问的地方,欢迎大家指正留言交流。喜欢的老铁可以多多点赞+收藏分享+置顶,小红牛在此表示感谢。★★★★★

Python打包教程07:还不会用--add-data参数,添加资源文件吗?

Python打包教程04:UPX安装与使用(减小.exe体积)

Python打包教程03:PyInstaller命令使用指南

Python查询CPU+硬盘+网卡MAC +主板+BIOS序列号

Python教程:PyCharm安装过程中遇到的中英文对照表

和Python编程相关的,中英文对照词汇表

2025年Python和pycharm安装下载教程

Python教程110:单线程和多线程源码演示(threading)

Python教程108:针对面向对象Class类知识要点,源码示例再演示。

Python入门教程04:流程控制语句(if+for+continue等)

Python入门教程10:datetime模块的示例用法

Python入门教程02:常用的内置函数示例演示

200条Python零基础自学指南

Python零基础教程:小白入门自学知识点大纲

Python教程:Py模块导入方法详解

Python教程:3种格式符(str.format()+f-string+%)的常见用法

1. 假设的 TXT 数据格式
假设有一个 data.txt 文件,内容为逗号分隔的字段,每行代表一条记录:
name,age,city张三,28,北京李四,32,上海王五,25,广州
2.关键点说明
编码:始终指定 encoding='utf-8',避免中文乱码。
去除空白:使用 strip() 去除行首尾的换行和空格。
类型转换:JSON 支持数字、布尔等类型,需要手动转换(如 int())。
写入 JSON 文件:json.dump() 直接写入文件;json.dumps() 返回字符串。
中文保留:ensure_ascii=False 让中文正常显示。
缩进:indent=2 使输出美观(生产环境可省略以节省空间)。
根据你的实际 TXT 结构,选择或修改上述示例即可轻松实现 “txt → json” 的封装。json.dumps() 的作用就是把 Python 的 list/dict 转换成 符合 JSON 语法的字符串。
代码输出内容
[  {    "姓名": "张三",    "年龄": "28",    "城市": "北京"  },  {    "姓名": "李四",    "年龄": "32",    "城市": "上海"  },  {    "姓名": "王五",    "年龄": "25",    "城市": "广州"  }]

↓ 完整源码如下 ↓

# -*- coding: utf-8 -*-# @Author : 小红牛# 微信公众号:wdPythonimport jsondef txt_to_json(txt_path, json_path=None, encoding='utf-8'):    """    读取含表头的 CSV 格式 txt 文件(逗号分隔),跳过第一行表头,将数据转换为 JSON。    参数:        txt_path: 输入 txt 文件路径        json_path: 输出 JSON 文件路径(可选,不提供则不写入文件)        encoding: 文件编码,默认 utf-8    返回:        (data_list, json_str): 数据列表及 JSON 字符串    """    data_list = []    with open(txt_path, 'r', encoding=encoding) as f:        lines = f.readlines()    if not lines:        return data_list, json.dumps(data_list, ensure_ascii=False, indent=2)    # 跳过表头(第一行)    for line in lines[1:]:        line = line.strip()        if not line:   # 跳过空行            continue        parts = line.split(',')        if len(parts) < 3:            # 如果某行列数不足,跳过            continue        name, age, city = parts[0], parts[1], parts[2]        data_list.append({            "姓名": name,            "年龄": age,    # 保持字符串,如需整数可改为 int(age)            "城市": city        })    json_str = json.dumps(data_list, ensure_ascii=False, indent=2)    if json_path:        with open(json_path, 'w', encoding=encoding) as f:            f.write(json_str)    return data_list, json_str# 使用示例if __name__ == '__main__':    data, json_str = txt_to_json('data.txt', 'data.json')    print(json_str)

完毕!!感谢您的收看

------★★历史博文集合★★------

Python入门篇  进阶篇  视频教程  Py安装

py项目Python模块 Python爬虫  Json

Xpath正则表达式SeleniumEtreeCss

Gui程序开发TkinterPyqt5 列表元组字典

数据可视化   matplotlib   词云图Pyecharts

海龟画图PandasBug处理电脑小知识

自动化脚本编程工具NumPy CSVWeb

Pygame  图像处理  机器学习数据库

最新文章

随机文章