Java和Python读取文件总结

2023-11-11

public static ArrayList<String> readTxtFile() {
		String fileName = JavaFile.class.getClassLoader().getResource("filename/list.txt").getPath();
		ArrayList<String> arrayList = new ArrayList<>();
		try {
			File jsonFile = new File(fileName);
			FileReader fileReader = new FileReader(jsonFile);
			//Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8");
			BufferedReader bf = new BufferedReader(fileReader);
			int ch = 0;
			StringBuffer sb = new StringBuffer();
			String str;
			while ((str = bf.readLine()) != null) {
                arrayList.add(str);
            }
			fileReader.close();
			bf.close();
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}
		return arrayList;
		
		
	}

// 读取json文件
	public static String readJsonFile(String fileName) {
		String jsonStr = "";
		try {
			File jsonFile = new File(fileName);
			FileReader fileReader = new FileReader(jsonFile);
			Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8");
			int ch = 0;
			StringBuffer sb = new StringBuffer();
			while ((ch = reader.read()) != -1) {
				sb.append((char) ch);
			}
			fileReader.close();
			reader.close();
			jsonStr = sb.toString();
			return jsonStr;
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.ouyanglol.neo4j.vo.EventMessage;
public static List<Object> readSysJsonFile() {
		List<Object> eventList = new ArrayList<>();
		String path = JavaUtils.class.getClassLoader().getResource("file/dict.json").getPath();
		String s = readJsonFile(path);
		//JSONArray jsonArray = JSONArray.parseArray(s);
		JSONObject jsonObject = JSON.parseObject(s);
		Map<String,Object> parMap =  JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference<Map<String, Object>>(){});

		for (Map.Entry<String,Object> map: parMap.entrySet()) {
			String key = map.getKey();
			Map obj = (Map)map.getValue();
			
			list.add(message);
		}
		return list;
	}


Python存储Json列表文件
def write_to_file(file_path, data_list):
    with open(file_path, 'w', encoding='utf-8') as f:
        for data in data_list:
            c_data = json.dumps(data,ensure_ascii=False) #重点在此句
            s = str(c_data) + "\n"
            f.write(s)

Python读取Json列表文件
 event_path = "../result/test_data.txt"
 with open(event_path, "r", encoding="utf-8") as f:
      dataList = f.readlines()
      count = 0
      event_all =defaultdict(dict)
      for data in dataList:
         data_list = json.loads(data)#重点在此
         data_list = data_list[0]  #重点
         data_dict = json.loads(data_list) #重点
         print(data_dict)
         if isinstance(data_dict, dict):
             if len(data_dict) != 5:
                print('field ERROR!')
                continue
         else:
            continue

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java和Python读取文件总结 的相关文章

随机推荐

  • Intellij多行同时缩进或者同时空格

    在使用JetBrains旗下的集成软件 如IDEA Pycharm PhpStorm Clion等时 通常需要整体向前或者向后缩进代码 以更加美观地编写代码 此时 可通过以下两个快捷键实现该功能 1 代码整体向后缩进 选中多行代码 按下ta
  • day9:JAVA中while的用法

    一 while循环 while循环是先判断条件是否为真 如果条件为真 则执行循环体 语句形式 while 循环条件 一条语句 多条语句 循环体 二 do while循环 do while循环是先执行循环体 再根据条件确定是否能在执行循环体
  • 【RabbitMQ】Consumer之消费模式、消息确认与拒绝 - 基于AMQP 0-9-1

    这篇文章主要和大家分享RabbitMQ Consumer端的知识点 主要包括Consumer的消费模式 消息是如何确认以及如何拒绝的 当消息拒绝之后 如何让消息重新进入队列 推模式 RabbitMQ支持推和拉两种消费模式 推模式就是由Bro
  • Windows下命令行修改IP及DNS

    需求 在频繁更换网段的情况下 通过动本修改比较方便 修改IP netsh interface ip set address 以太网 static 192 168 1 136 255 255 255 0 192 168 1 1 修改DNS n
  • 原生input实现上传文件

    1 先设置一下input 在change事件传一个参数
  • envi的纹理特征统计量_数据特征的选取

    图像特征的提取和选择是图像处理过程中很重要的环节 对后续图像分类有着重要的影响 并且对于图像数据具有样本少 维数高的特点 要从图像中提取有用的信息 必须对图像特征进行降维处理 特征提取与特征选择就是最有效的降维方法 其目的是得到一个反映数据
  • STM32学习笔记:gps两种解码的方式

    做为现在的物联网行业 手持设备中 缺少不了的就是GPS定位功能 GPS模块和STM32的串口进行通信 将GPS的数据发送给M3的串口 由M3进行GPS协议的解码 解析出来后保存在响应的结构体中 在进行显示 这里分别介绍2中解析协议的方法 第
  • 数据中心网络的电路交换域

    buffer 的意义在用带宽平滑统计突发 流量波动越大 统计复用能效越高 假设没有 buffer 将大量溢出和空载并存 但如果流量是可预期的 也可以转向相反的方向 比如虚电路 数据中心与 Internet 不同 流量类型相对固定 典型的如
  • java封装与继承

    封 装 防止用户在main 方法中设置错误变量数值 因此采用private关键字封装 私有化后主函数将无法直接调用被private定义的属性 方法 构造器和内部类 体现 私有化 private 后 因无法直接调用 所以将提供公共 publi
  • kNN处理iris数据集-使用交叉验证方法确定最优 k 值

    基本流程 1 计算测试实例到所有训练集实例的距离 2 对所有的距离进行排序 找到k个最近的邻居 3 对k个近邻对应的结果进行合并 再排序 返回出现次数最多的那个结果 交叉验证 对每一个k 使用验证集计算 记录k对应的错误次数 取错误数最小的
  • python 批量创建文件夹

    批量创建文件夹 文件夹的名称如果在一个excel中 那就先获取excel中的数据 转成list 获取这个excel中的某一列的数据 使用pandas的情况注意数据格式是Dateframe 转成list import pandas as pd
  • 【Kubernetes系列】工作负载资源之Deployment

    文章目录 概述 Deployment用例 创建 Deployment Deployment 状态 更新 Deployment 回滚 Deployment Deployment 规约 Pod 模板 副本 选择算符 策略 进度期限秒数 最短就绪
  • java为什么还有基本数据类型

    Java既然是面向对象的 宣称一切都是对象 那为什么还有基础类型 基本数据类型是用的最频繁的类型 而且占用存储空间小 可以把它们存入栈中 实现快速的操作 而他们的封装类Integer等 必需创建实例 在堆中开辟内存 既消耗资源 又耗费时间
  • gitolite安装及配置教程centos7

    1 安装依赖包 yum install curl devel expat devel gettext devel openssl devel zlib devel perl devel y 2 安装 Git yum y install gi
  • linux编译命令——make -j8

    项目越来越大 每次需要重新编译整个项目都是一件很浪费时间的事情 Research了一下 找到以下可以帮助提高速度的方法 总结一下 1 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4 5小时减少到了5分钟 也许这
  • 小知识点记录:(“字符“).equals(str)与str.equals(“字符“)的区别

    最近遇到这个知识点 字符 equals str 和 str equals 字符 的区别 之前比较常用 字符 equals str 但还是仔细区分一下 因为 如果传入的字符串str为null时 null的的引用类型变量来调用方法会抛出异常 先
  • 架构师成长之路-docker 搭建kibana可视化平台操作es索引

    什么是kibana Kibana 是一款免费开源的前端应用程序 其基础是 Elastic Stack 可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能 官方术语可以理解操作es的一个可视化工具 es封装了接口 而ki
  • 缺席一年后,谷歌I/O大会回来了!3D视频聊天,10倍性能TPU,还有Android 12重磅登场!...

    新智元报道 来源 Google Blog 编辑 yaxin 好困 新智元导读 5月19日凌晨1点 谷歌IO 2021开发者大会重新回归 谷歌可谓是厚积薄发 积攒2年创新技术轮番轰炸 3D视频聊天Starline 十倍性能TPU V4 聊天不
  • 浅谈小程序开源业务架构建设之路

    一 业务介绍 1 1 小程序开源整体介绍 百度从做智能小程序的第一天开始就打造真正开源开放的生态 我们的愿景是 定义移动时代最佳体验 建设智能小程序行业标准 打破孤岛 共建开源 开放 繁荣的小程序行业生态 百度智能小程序的生态玩家有三类 分
  • Java和Python读取文件总结

    public static ArrayList