第四十二回 假李逵翦径劫单身 黑旋风沂岭杀四虎-python读写csv和json数据

李逵答应了宋江三件事:不可吃酒,独自前行,不带板斧。李逵痛快答应了,挎一口腰刀,提着朴刀,带了一锭大银子,三五个小银子就下山去了。

宋江放心不下,于是请同乡朱贵也回家一趟,好打探李逵的信息。朱贵到了沂水县西门外,见李逵站在通缉宋江、戴宗和李逵的榜单前面,赶快把李逵给拉走了。

李逵和朱贵在朱富的店里吃饭休息,五更天,李逵出发。朱贵建议他走大路,李逵说“我怕甚鸟”,于是走了小路。

李逵碰到了假李逵劫道,刚开始发善心放了他。结果后来发现他撒谎且还想害李逵,被李逵把他杀掉,房子也烧了。

李逵背着娘回梁山,还是走的深山僻静小路,半路老娘口渴,李逵打水回来,发现老娘已经被老虎吃了。李逵气的把一窝老虎四只全杀了。猎户们见李逵杀死了四只老虎,都很高兴,请李逵到曹太公庄上喝酒。

李逵一人杀四虎,跟武松打虎相比,得益于有好武器的加持。python里有专门的csv和json处理模块,可以极大提高数据处理的效率。

python读写csv和json数据

python读写csv数据

在Python中,读写CSV(Comma Separated Values)数据通常使用内置的csv模块。以下是一个简单的例子,展示了如何使用csv模块来读取和写入CSV文件。 首先,假设我们有一个名为example.csv的文件,内容如下:

name,age,city
Alice,28,New York
Bob,22,Los Angeles
Charlie,30,Chicago

读取CSV文件

import csv  # 打开CSV文件并读取内容  
with open('example.csv', mode='r', newline='') as file:  reader = csv.reader(file)  # 遍历CSV文件的每一行  for row in reader:  print(row)  # 打印每一行的内容,作为列表  # 输出:  
# ['name', 'age', 'city']  
# ['Alice', '28', 'New York']  
# ['Bob', '22', 'Los Angeles']  
# ['Charlie', '30', 'Chicago']

写csv文件

import csv  # 定义要写入的数据  
data = [  ['name', 'age', 'city'],  ['Alice', '28', 'New York'],  ['Bob', '22', 'Los Angeles'],  ['Charlie', '30', 'Chicago']  
]  # 打开(或创建)一个CSV文件并写入数据  
with open('output.csv', mode='w', newline='') as file:  writer = csv.writer(file)  # 写入CSV文件的每一行  for row in data:  writer.writerow(row)  # 现在,'output.csv' 文件包含了和上面例子中一样的数据

在上面的例子中,csv.reader用于读取CSV文件,而csv.writer用于将数据写入CSV文件。open函数用于打开文件,并指定模式('r'用于读取,'w'用于写入)。newline=''参数在写入时非常有用,它确保了在不同的操作系统上都能正确地写入行。

csv.reader返回的是一个迭代器,它会产生CSV文件的每一行,每一行都是一个字符串列表。而csv.writer的writerow方法则用于将一个列表作为一行写入CSV文件。

记住,CSV文件只是一个简单的文本文件,其中的数据由逗号分隔。你可以使用任何文本编辑器来查看或编辑它。同时,csv模块也支持其他分隔符,如制表符,你可以通过传递delimiter参数来指定。

 

Python读写JSON数据

JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,易于阅读和编写。虽然它最初是为JavaScript设计的,但由于其简单性和普遍性,它已经被许多其他编程语言广泛采用,包括Python。在Python中,json模块使得处理JSON数据变得非常简单。

JSON数据结构

JSON主要支持两种数据结构,对象和数组,在python中对应字典和列表,比如:

对象、字典(dict):这是一种无序的键值对集合使用大括号,格式如下:

    {  "name": "Zhangsan",  

        "age": 30,  

        "city": "New York"  }

数组、列表:这是一个有序的值列表,使用方括号[]表示:

[ "apple",  

  "banana",  

  "cherry"  ]

编解码

编码:Python对象到JSON

使用json.dumps()函数,可以将Python对象(如字典或列表)转换为JSON格式的字符串。

解码:JSON到Python对象

使用json.loads()函数,可以将JSON格式的字符串转换为Python对象(如字典或列表)

python处理json举例

import json
json_string = '{"name": "Zhangsan", "age": 30, "city": "Jining"}'  # 使用json.loads()函数来解析这个json字符串  
json_data = json.loads(json_string)  
# 使用json.dumps()函数来将pyhton对象转回json字符串  
json_data_string = json.dumps(json_data)# 观察每一步的数据类型,可以发现对json_string先解析再dump,最终得到的字符串跟原字符串相等。
print("json编码的原字符串:", type(json_string), json_string)
print("json解析后:", type(json_data), json_data)
print("json转换回原字符串:", type(json_data_string), json_data_string)
print("json解析再转回原json字符串:", json_string == json_data_string)

json文件读取


json模块还可以直接从文件读取JSON数据或将JSON数据写入文件。

# 写到文件
with open('data.json', 'w') as f:json.dump(json_data, f)# 打开并读取JSON文件  
with open('data.json', 'r') as f:  readjsondata = json.load(f)  # 现在,`readjsondata`变量包含了JSON文件中的数据,可以像操作Python字典一样操作它  
print(type(readjsondata), readjsondata)

众人都来看虎,那假李逵的老婆正好也在,于是告知了曹太公和里正,大家决定一边劝醉李逵,一边上报县里。

县里派了都头李云来拿李逵,李云是朱富的师傅。返回县里的时候,朱富和朱贵用蒙汗药迷倒了他们,李逵把除李云外的人都杀了,然后李逵和朱富在路边等李云来。

欲知后事如何,且听下回分解。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Postman+Newman】接口自动化测试以及测试报告输出

Newmanpostman自动化测试 postmanPre-request Script前置脚本 Newman测试报告输出 postman 学习postman脚本编写 Pre-request Script前置脚本 Newman 测试报告输出 输出报告时使用的命令:     -r html,json,junit 指定生成html,json&#xff0c…

Java并发-并发编程的三个核心问题

文章目录 并发编程的三个核心问题参考 并发编程的三个核心问题 并发编程可以总结为三个核心问题:分工、同步、互斥。 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问…

猫头虎分享已解决Bug || Rust Error: expected function, found module ‍

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

【Java程序设计】【C00277】基于Springboot的招生管理系统(有论文)

基于Springboot的招生管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的招生管理系统 本系统分为系统功能模块、管理员功能模块以及学生功能模块。 系统功能模块:在系统首页可以查看首页、专业…

Git diff Word 文档

前言 前段时间用 nodeJS 写了一个提交代码的工具,开发过程中在认证部分遇到了一些小问题,于是就想看看官方的文档中有没有什么说明之类的,没想到文档中的内容十分丰富,除了解释了 git 相关的原理外,还学到了很多有用的…

软考-中级-系统集成2023年综合知识(三)

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 软考中级专栏回顾 专栏…

【PythonGIS】基于Python融合矢量数据(多面合一)

之前发过使用批量合并矢量数据的文章:【Python&GIS】基于Python批量合并矢量数据,正好前段时间有需求把矢量数据进行融合,然后就编了一段融合矢量数据的代码。今天就和大家分享一下如何使用Python对矢量数据实现融合的操作。 1.定义 首先…

金南瓜SECS/GEM如何添加工程?

公开资料皆为是2、3年前版本 编译SecsEquip.dll依赖库 ① 打开示例程序中的SecsEquip项目 ② 选中SecsEquip工程,右键选择属性 如果没有“解决方案资源管理器”页面,可以从菜单的“视图”->“解决方案资源管理器”打开 ③ 选择跟设备相同的NET版本…

This dependency was not found解决方法

问题如上(前端代码),我是引用js文件出的问题,无法找到api/userManage模块。 解决:没感觉哪有问题,把后面加了个/,就解决了,代表src目录,应该是目录和目录之间应该有/作为分割:

python 提取PDF文字

使用pdfplumber,不能提取扫描的pdf和插入的图片。 import pdfplumberfile_path rD:\UserData\admindesktop\官方文档\1903_Mesh-Models-Overview_FINAL.pdf with pdfplumber.open(file_path) as pdf:page pdf.pages[0]print(page.extract_text()) # 所以文字prin…

DIcom调试Planar configuration

最近和CBCT组同事调dicom图像 这边得图像模块老不兼容对方得dicom文件。 vtk兼容,自己写得原生解析不兼容。 给对方调好了格式,下次生成文件还会有错。 简单记录下,日后备查。 今天对方又加了 个字段:Planar configuration 查…

koa项目部署云服务器(部署本地虚拟机中)

文章目录 一、服务器安装Node、MySQL1.1. 安装Node.js1.2. 安装MySQL1.3.配置MySQL1.4. 数据库迁移 二. 部署Node项目2.1. 代码托管到Git仓库(选做)2.2. 代码clone到服务器(选做)2.3. VSCode中打开代码(推荐&#xff0…

【二十七】【C++】二叉树练习

606. 根据二叉树创建字符串 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与…

集成TinyMCE富文本编辑器

若依的基础上集成TinyMCE富文本编辑器 前端bootstrap TinyMCE官网链接 TinyMCE所需静态资源下载链接 开源项目-若依链接 将TinyMCE静态资源包放入项目中&#xff1b; 代码引入css&#xff1a; <!-- 引入TinyMCE CSS --><link th:href"{/ajax/libs/tinymce/j…

抖音视频评论数据提取软件|抖音数据抓取工具

一、开发背景&#xff1a; 在业务需求中&#xff0c;我们经常需要下载抖音视频。然而&#xff0c;在网上找到的视频通常只能通过逐个复制链接的方式进行抓取和下载&#xff0c;这种操作非常耗时。我们希望能够通过关键词自动批量抓取并选择性地下载抖音视频。因此&#xff0c;为…

什么是调制比

一般情况下&#xff0c;调制波和载波的最大幅值是不一样的。 正弦波的最大幅值低于三角波的最大幅值。 这样做的目的就是产生最大占空比&#xff08;2000W逆变器中最大占空比是80%&#xff09; 调制波就是正弦波的最大幅值比三角载波的最大幅值 问题1 为什么调制波要小于1&…

Oracle不能启动,提示设备空间不足,实际上是信号量不够(ORA-27300,ORA-27301,ORA-27302)

我的一个客户的Oracle数据库不能启动&#xff0c;出现下面的提示&#xff1a; ORA-27154: post/wait create failed ORA-27300: OS system dependent operation:semget failed with status: 28 ORA-27301: OS failure message: No space left on device ORA-27302: failure oc…

邮件发送/接收过程分析、常见邮箱sport/dport列举、检测规则开发思路分析

一、邮件发送和接收过程分析 &#xff08;转载自&#xff1a;邮件的发送和接收过程——STMP、POP、IMAP、MIME_当收件人接收电子邮件时自己的邮件服务器通过什么收文件-CSDN博客&#xff09; 电子邮件发送协议 是一种基于“ 推 ”的协议&#xff0c;主要包括 SMTP &#xff1…

代码随想录算法训练营第60天 | 647.回文子串 + 516.最长回文子序列 + 动态规划总结篇

今日任务 647. 回文子串 516.最长回文子序列 动态规划总结篇 647.回文子串 - Medium 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串…

1.openEuler概述及安装指南(一)

openEuler OECA认证辅导&#xff0c;标红的文字为学习重点和考点。 1.openEuler简介 openEuler是一款面向全球的开源操作系统 支持ARM、X86等多种处理器&#xff0c;能够充分释放计算芯片的潜能&#xff1a;高效、稳定、安全 适用于数据库、大数据、云计算、人工智能等多种应用…