第四十二回 假李逵翦径劫单身 黑旋风沂岭杀四虎-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)

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

spring boot3登录开发-3(账密登录逻辑实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 内容简介 用户登录逻辑实现 创建交互对象 1.创建用户登录DTO 2.创建用户登录VO 创建自定义登录业务异…

Vue模板引用之ref特殊属性

1. 使用实例 <template><input ref"input" name"我是input的name" /><br /><ul><li v-for"arr in array" :key"arr" id"111" ref"itemRefs">{{arr}}</li></ul> </…

windows11本地深度学习环境搭建Anacond,keras,tensorflow,pytorch, jupyter notebook

前言 工欲善其事&#xff0c;必先利其器。 第一步 安装Anaconda 下载地址&#xff1a; https://www.anaconda.com/download 路径默认 这里都勾选上 然后会卡在这里&#xff0c;卡很久&#xff0c;不用管&#xff0c;等着就行 第二步 配置环境 conda env list 列出所有…

css复习

盒模型相关&#xff1a; border&#xff1a;1px solid red (没有顺序) 单元格的border会发生重叠&#xff0c;如果不想要重叠设置 border-collapse:collapse (表示相邻边框合并在一起) padding padding影响盒子大小的好处使用 margin应用&#xff1a; 行内或行内块元素水…

XFF伪造 [MRCTF2020]PYWebsite1

打开题目 直接查看源码 看到一个./flag.php 访问一下 购买者的ip已经被记录&#xff0c;本地可以看到flag&#xff0c;那么使用xff或者client-ip伪造一下ip试试 bp抓包 加一个X-Forwarded-For头 得到flag

GPT-SoVITS 快速声音克隆使用案例:webui、api接口

参考: https://github.com/RVC-Boss/GPT-SoVITS 环境: Python 3.10 PyTorch 2.1.2, CUDA 12.0 安装包: 1、使用: 1)下载项目 git clone https://github.com/RVC-Boss/GPT-SoVITS.git2)下载预训练模型 https://huggingface.co/lj1995/GPT-SoVITS 下载模型文件放到GPT…

高刷电竞显示器 - HKC VG253KM

今天给大家分享一款高刷电竞显示器 - HKC VG253KM。 高刷电竞显示器 - HKC VG253KM源于雄鹰展翅翱翔的设计灵感&#xff0c;严格遵循黄金分割比例的蓝色点晴线条&#xff0c;加上雾面工艺及高低起伏错落有致的线条处理&#xff0c;在VG253KM的背部勾勒出宛若大鹏展翅的鹰翼图腾…

关于Kinect 互动沙盘 深度图 Shader Graph 分层

把Kinect的深度图穿给Shader Graph using com.rfilkov.kinect; using UnityEngine; using UnityEngine.UI; public class GetDepthTex : MonoBehaviour { public Material Mat_SandTable; void Update() { Mat_SandTable.SetTexture("_MainTex"…

网络安全笔记总结

IAE引擎 1.深度检测技术--DFI和DPI技术 DFI和DPI都是流量解析技术&#xff0c;对业务的应用、行为及具体信息进行识别&#xff0c;主要应用于流量分析及流量检测。 DPI&#xff1a;深度包检测技术 DPI是一种基于应用层的流量检测和控制技术&#xff0c;对流量进行拆包&#x…

关于git子模块实践(一)

背景 在日常项目开发中&#xff0c;随着项目的迭代&#xff0c;不可避免的是主项目会引入到很多三方库&#xff0c;或者自研的一些模块。有一种场景&#xff0c;就是这些模块&#xff0c;是随着开发而进行迭代&#xff0c;且多个项目公用的&#xff0c;这种情况&#xff0c;在…

测试开源C#人脸识别模块DlibDotNet

百度“C# 换脸”找到参考文献4&#xff0c;发现其中使用DlibDotNet检测并识别人脸&#xff08;之前主要用的是ViewFaceCore&#xff09;&#xff0c;DlibDotNet是Dlib的.net封装版本&#xff0c;后者为开源C工具包&#xff0c;支持机器学习算法、图像处理等算法以支撑各类高级应…

袁庭新ES系列09节 | 使⽤kibana对类型及映射操作

前言 类型及映射是Elasticsearch中重要的两个概念。本章节袁老师将带领同学们来学习Elasticsearch中的类型和映射部分的内容。先透露一下&#xff0c;在Elasticsearch中&#xff0c;类型&#xff08;type&#xff09;相当于关系数据库中的table概念&#xff1b;映射&#xff0…

微服务三十五关

1.微服务有什么好处&#xff1f; 微服务优点很多&#xff0c;但是我们通常说一个东西好肯定会跟另一个东西比较&#xff0c; 通常说微服务好会和单体项目进行比较。以下是微服务相对于单体项目的一些显著好处&#xff1a; 首先&#xff0c;让我们讨论单体项目的一些主要缺点&a…

解决ubuntu系统cannot find -lc++abi: No such file or directory

随着CentOS的没落&#xff0c;使用ubuntu的越来越多&#xff0c;而且国外貌似也比较流行使用ubuntu&#xff0c;像LLVM/Clang就有专门针对ubuntu编译二进制发布文件&#xff1a; ubuntu本身也可以直接通过apt install命令来安装编译好的clang编译器。不过目前22.04版本下最高…

高通 Android 12 Settings不显示版本号问题

1、最近项目遇到一个奇葩问题&#xff0c;编译系统版本号不见了&#xff1f; 2、一开始我想着可能是自己代码没有make clean结果编译几个小时&#xff0c;然后烧录固件发现还是未生效。 3、然后这时候我又去看git log review最近修改也没有太大发现&#xff08;待定&#xff…

第10章 高级缓存一致性设计

缓存一致性协议如何适应更大规模的系统。广播和侦听协议更早地涉及了可扩展性问题&#xff0c;因为流量和侦听频率时随着处理器个数的增加至少呈线性增加趋势&#xff0c;可用的互连网络带宽会很快被广播流量占满。本章讨论的基于目录式缓存一致性协议来实现可扩展性。主要问题…

ApexRBp在线粒子传感器在电动汽车电池制造的应用

电动汽车电池的崛起与颗粒污染的挑战 随着电动汽车&#xff08;EV&#xff09;市场的迅速扩张&#xff0c;对高性能锂离子电池的需求也急剧增加。这些电池不仅是EV的心脏&#xff0c;更是推动其前行的核心动力。然而&#xff0c;在电池制造的每一个环节&#xff0c;都需要对多…

86、移除推理路径上的所有内存操作

动态申请内存的影响,前两节已经介绍过了,细心的朋友可能会发现,在使用 C++实现的 resnet50 代码中,还存在一处动态申请内存的操作。 那就是对于每一层的输入或输出 feature map 数据进行内存申请,比如在 3rd_preload/ops/conv2d.cc 文件中,卷积的计算中存在对于输出 fea…

转运机器人,AGV底盘小车:打造高效、精准的汽车电子生产线

为了满足日益增长的市场需求&#xff0c;保持行业领先地位&#xff0c;某汽车行业电子产品企业引入富唯智能AMR智能搬运机器人及其智能物流解决方案&#xff0c;采用自动化运输措施优化生产节拍和搬运效率&#xff0c;企业生产效率得到显著提升。 项目背景&#xff1a; 1、工厂…

python 提取PDF文字

使用pdfplumber&#xff0c;不能提取扫描的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…