数据处理 `.txt`, `.json`, `.csv`, `.excel`, `.pkl` 相互转化

数据处理

这里主要整理的是.txt, .json, .csv, .excel, .pkl 文件之间的数据存储和转化

1. txt部分

import jsondef save_json_list_txt(json_data, target_path):""" 保存json列表到txt文件中"""with open(target_path, "w", encoding="utf-8") as file:for item in json_data:item = str(item).replace("\n", "\\n")file.write(item)# file.write(str(item))file.write("\n")def load_json_list_txt(source_path):""" 从txt文件中加载json列表"""json_list = []try:with open(source_path, "r", encoding="utf-8") as file:for line in file:try:json_data = eval(line.strip())json_list.append(json_data)except json.JSONDecodeError:print(f"无法解析Json数据: {line.strip()}")return json_listexcept FileNotFoundError:print(f"文件 '{source_path} 未找到'")def save_str_list_txt(str_list, target_path):""" 保存str列表到txt文件中"""with open(target_path, "w", encoding="utf-8") as file:for item in str_list:item = item.replace("\n", "\\n")file.write(item)file.write("\n")def load_str_list_txt(file_path):""" 从txt文件中加载str列表"""txt_list = []try:with open(file_path, "r", encoding="utf-8") as file:for line in file.readlines():txt_list.append(line.strip())return txt_listexcept FileNotFoundError:print(f"文件 ‘{file_path} 未找到’")if __name__ == '__main__':human_list = [{"name": "jordan\n","age": 30,"city": "南昌","list": [3, 6, 0]},{"name": "John","age": 30,"city": "广州","list": [3, 6, 1]},{"name": "JiWang","age": 30,"city": "深圳","list": [2, 3, 1]},]day_list = ["星期一\n\n", "星期二", "星期三", "星期四", "星期⑤", "星期六", "星期天"]save_json_list_txt(human_list, "human_list.txt")new_human_list = load_json_list_txt("human_list.txt")print(new_human_list)# print(type(new_human_list))# print(type(new_human_list[0]))save_str_list_txt(day_list, "day.txt")new_day_list = load_str_list_txt("day.txt")print(new_day_list)

2. json格式部分

import jsondef save_json(json_list, target_path):with open(target_path, "w", encoding="utf-8") as json_file:json.dump(json_list,  json_file, indent=4)print(f"Json列表已经保存到 {target_path} 文件中。")def load_json(source_file):json_list = []with open(source_file, "r", encoding="utf-8") as json_file:try:json_list = json.load(json_file)except json.JSONDecodeError as e:print(f"JSON解析错误: {e}")return json_listdef save_json_line(json_list, target_path):with open(target_path, 'w', encoding="utf-8") as json_file:for item in json_list:json.dump(item, json_file)json_file.write("\n")print(f"Json列表已经保存到 {target_path} 文件中。 每一行为一个json对象")def load_json_line(source_file):json_list = []with open(source_file, "r", encoding="utf-8") as json_file:for line in json_file:try:json_data = json.loads(line.strip())json_list.append(json_data)except json.JSONDecodeError as e:print(f"JSON解析错误: {e}")return json_listif __name__ == '__main__':human_list = [{"name": "jordan","age": 30,"city": "南昌","list": [3, 6, 0]},{"name": "John","age": 30,"city": "广州","list": [3, 6, 1]},{"name": "JiWang","age": 30,"city": "深圳","list": [2, 3, 1]},]human = {"name": "jordan","age": 30,"city": "南昌","list": [3, 6, 0]}json_path = "json/human_line_list.json"save_json_line(human_list, json_path)new_human_list = load_json_line(json_path)print(new_human_list)# save_json(human_list, "json/human_list.json")# human_json = load_json("json/human_list.json")# print(human_json)save_json(human, "json/human.json")human_json = load_json("json/human.json")print(human_json)# new_json_list = load_json_list(json_path)# print(new_json_list)# # print(type(new_human_list))# # print(type(new_human_list[0]))# save_str_list_txt(day_list, "day.txt")# new_day_list = load_str_list_txt("day.txt")# print(new_day_list)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++调试工具 - gdb详解

C/C调试工具 -gdb详解 1 简介 2 常用的命令 3 使用的条件 4 程序调试 4.1 直接运行程序 4.2 断点调试(在某一行) 4.3 断点调试(在函数入口处打断点) 5 调试core文件 5.1 生成core文件的方法 5.2 调试core文件 1 简介 GDB是Linux下非常好用且强大的调试工具。GD…

一种ADC采样算法,中位值平均滤波+递推平均滤波

前言 在实际AD采集场景中,会出现周期性变化和偶然脉冲波动干扰对AD采集的影响 这里使用中位值平均滤波递推平均滤波的结合 参考前人写好的代码框架,也参考博主GuYH_下面这篇博客,在此基础上稍作修改,写出这篇博客,能…

NZ系列工具NZ06:VBA创建PDF文件说明

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…

【腾讯云 HAI域探秘】探索AI绘画之路:利用腾讯云HAI服务打造智能画家

目录 前言1 使用HAI服务作画的步骤1.1 注册腾讯云账户1.2 创建算力服务器1.3 进入模型管理界面1.4 汉化界面1.5 探索AI绘画 2 模型参数的含义和调整建议2.1 模型参数的含义和示例2.2 模型参数的调整建议 3 调整参数作画的实践和效果3.1 实践说明3.2 实践效果13.3 实践效果23.4 …

Leetcode-94 二叉树的中序遍历

递归实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

creo6.0教程之拉伸

目录 一、实体拉伸:1.拉伸基本操作:2.其他常用的拉伸选项:3.移除材料的拉伸: 一、实体拉伸: 1.拉伸基本操作: 1、点击-拉伸,进入拉伸操作界面 2、选择绘制草图放置的平面,选择放置…

765. 情侣牵手(困难)

首先不考虑已经正确坐在一起的组合在没有坐在一起的组合中,只有当两对情侣互相配对时只需要一次交换操作就可以使得两对情侣完成匹配,其余情况交换数等于情侣对数可以把所有情侣看成一个大集合,这个大集合是可以拆成若干小集合的,…

Powerpoint不小心被覆盖?PPT误删文件如何恢复?

PowerPoint不小心删除了,这可能是众多学生和工作人员最头痛的事情了。PPT被覆盖或误删可能意味着几个小时的努力付之东流。那么PPT覆盖的文档要如何救回来呢?小编将会在本篇文章中为大家分享几个解决方案,使PPT文档覆盖还原操作成为可能&…

CCLink转Modbus TCP网关_MODBUS报文配置

兴达易控CCLink转Modbus TCP网关是一种功能强大的设备,可实现两个不同通信协议之间的无缝对接。它能够将CCLink协议转换为Modbus TCP协议,并通过报文配置实现灵活的通信设置。兴达易控CCLink转Modbus TCP网关可以轻松实现CCLink和Modbus TCP之间的数据转…

Swift 常用类别整理

生成颜色,传入16进制数字生成对应颜色 个人不喜欢传字符串的写法,比如 "0x0080FF" 或者 "0080FF",原因如下: 传了字符串最后还是要解析成数字参与颜色运算的,需要额外做字符串转数字的操作&…

android手机平板拓展电脑屏幕

有这么两个软件 spacedesk_driver_Win_10_64_v1065_BETA.msi 安装在电脑上 spacedeskv0.91.1_chinese.apk 安装在android设备上 同一个局域网投屏就好了。 局域网无限投屏是很吃带宽的。 建议usb共享网络,不占用带宽、延迟低。 下载地址: https:/…

postman接口测试—Restful接口开发与测试

开发完接口,接下来我们需要对我们开发的接口进行测试。接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可以使用Requests unittest来测试。 测试思路…

【C++】模板初阶

目录 一,泛型编程 二,函数模板 1,函数模板概念 2,函数模板格式 3,函数模板的原理 4,函数模板的实例化 5,模板参数的匹配原则 三,类模板 1,类模板的定义格式 2&…

二叉树的遍历(先序,中序,后序,层序)

目录 1.先序遍历1.代码实现 2.中序遍历1.代码实现 3.后序遍历1.代码实现 4.遍历算法的应用5.层序遍历1.算法思想2.代码实现 6.由遍历序列构造二叉树 1.先序遍历 根左右。 1.代码实现 若二叉树为空,则什么也不做; 若二叉树非空: ①访问根结点; ②先序遍历左子树; ③先…

在以TAB为首地址的字存储区中存放有N个无符号数,试统计低3位全为1的数的个数(个数设为≤9),并显示。

;默认认采用ML6.11汇编程序 DATAS SEGMENT;此处输入数据段代码TAB DW -7,7,15,20,21N($-TAB)/2;G DW 0 DATAS ENDS STACKS SEGMENT;此处处输入堆栈段代码; DB 200 DUP(0) STACKS ENDS CODES SEGMENTASSUME CS:CODES,DS: DATAS, SS:STACKS START:MOV AX, DATASMOV DS,AX;此处输入…

基于STM32单片机抢答器设计

**单片机设计介绍, 基于STM32单片机抢答器设计-Proteus仿真 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于STM32单片机的抢答器设计可以用于教育和培训场景中的抢答游戏或考试环节。以下是一个基本的介绍设计步骤…

JavaScript从入门到精通系列第三十四篇:基于JavaScript实现邮件正则

文章目录 一:电子邮件正则 1:电子邮件规则 2:编写代码校验 大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分&…

helm 常用命令搜集 —— 筑梦之路

helm 添加仓库 helm repo add elastic https://helm.elastic.cohelm repo add gitlab https://charts.gitlab.io helm repo add harbor https://helm.goharbor.io helm repo add traefik https://traefik.github.io/charts//添加国内仓库 helm repo add stable http…

Spring Bean循环依赖问题及解决

什么是循环依赖 类与类之间的依赖关系形成了闭环,就会导致循环依赖问题的产生。举例来说,假设存在两个服务类A和服务类B,如果A通过依赖注入的方式引用了B,且B通过依赖注入的方式引用了A,那么A和B之间就存在循环依赖。…

IDEA 关闭SpringBoot启动Logo/图标

一、环境 1、SpringBoot 2.6.4 Maven POM格式 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.4</version><relativePath/></parent> 2、IDE…