Python学习 -- 常用数据交换格式(CSV、XML、JSON)

news2025/1/10 23:42:20

数据交换格式是在不同系统之间交换数据时使用的一种标准化格式。在Python中,我们常用的数据交换格式有CSV、XML和JSON。本篇技术博客将介绍这三种数据交换格式的详细使用方法,并提供具体的代码案例,帮助初学者快速掌握这些格式的使用。

  1. CSV(逗号分隔值)格式 CSV是一种简单的文本文件格式,使用逗号作为字段之间的分隔符。下面是CSV格式的基本使用方法:

代码示例:

import csv

# 写入CSV文件
data = [
    ['Name', 'Age', 'City'],
    ['John', '25', 'New York'],
    ['Alice', '30', 'London'],
    ['Bob', '35', 'Paris']
]

with open('data.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

# 读取CSV文件
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)
  1. XML(可扩展标记语言)格式 XML是一种具有自定义标签的文本文件格式,用于存储和传输数据。下面是XML格式的基本使用方法:

代码示例:

import xml.etree.ElementTree as ET

# 创建XML文件
root = ET.Element('root')

employee = ET.SubElement(root, 'employee')
name = ET.SubElement(employee, 'name')
age = ET.SubElement(employee, 'age')
city = ET.SubElement(employee, 'city')

name.text = 'John'
age.text = '25'
city.text = 'New York'

tree = ET.ElementTree(root)
tree.write('data.xml')

# 解析XML文件
tree = ET.parse('data.xml')
root = tree.getroot()

for employee in root.findall('employee'):
    name = employee.find('name').text
    age = employee.find('age').text
    city = employee.find('city').text
    print(name, age, city)
  1. JSON(JavaScript对象表示法)格式 JSON是一种轻量级的数据交换格式,以键值对的形式组织数据。下面是JSON格式的基本使用方法:

代码示例:

import json

# 创建JSON文件
data = {
    'employee': {
        'name': 'John',
        'age': 25,
        'city': 'New York'
    }
}

with open('data.json', 'w') as file:
    json.dump(data, file)

# 解析JSON文件
with open('data.json') as file:
    data = json.load(file)

name = data['employee']['name']
age = data['employee']['age']
city = data['employee']['city']

print(name, age, city)

总结:在本篇技术博客中,我们介绍了Python中常用的数据交换格式:CSV、XML和JSON。针对每种格式,我们提供了详细的使用方法和具体的代码案例。通过学习这些数据交换格式的使用,我们可以在不同系统之间方便地交换和处理数据。无论是简单的逗号分隔值、具有自定义标签的XML文件,还是轻量级的JSON格式,都能够满足不同的数据交换需求。通过多练习和实践,我们可以更加熟练地使用这些数据交换格式,提高我们数据处理和交互的效率。

图片

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

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

相关文章

第二章 进程与线程 六、线程的实现方式和多线程模型

目录 一、线程的实现方式 1、用户级线程 2、内核级线程 二、多线程模型 注意: 1、一对一模型 (1)定义: (2)优点: (3)缺点: 2、多对一模型 (1&…

Linkerd的部署与入门--service mesh初步体验

Linkerd2初探 部署环境Linkerd简介安装Linkerd客户端在k8s上安装Linkerd控制平面(服务端)实验:数据平面代理注入demo应用安装viz插件(可视化面板)部署grafana 其他 部署环境 k8s环境: KIND 模拟kubernetes 1.21.1 kub…

【python】使用Reddit API爬取数据

这篇文章介绍如何使用reddit api获数据,文档地址如下:https://www.reddit.com/dev/api/ 首先需要创建应用,页面如下:https://www.reddit.com/prefs/apps 这里name随意填写,reditect uri随意写一个网址 如图所示,创建好应用以后,可以得到CLIENT_ID和SECRET_KEY: 编写代…

线性回归网络

李沐大神的《动手学深度学习》,是我入门机器学习的首课,因此在这里记录一下学习的过程。 线性回归的从零开始实现 线性回归是理解机器学习的基础,它经常用来表示输入和输出之间的关系。   线性回归基于几个简单的假设: 首先&am…

【计算机视觉】Vision and Language Pre-Trained Models算法介绍合集(一)

文章目录 一、ALIGN二、Contrastive Language-Image Pre-training(CLIP)三、Learning Cross-Modality Encoder Representations from Transformers(LXMERT)四、BLIP: Bootstrapping Language-Image Pre-training五、Vision-and-La…

Json-Jackson和FastJson

狂神: 测试Jackson 纯Java解决日期格式化 设置ObjectMapper FastJson: 知乎:Jackson使用指南 1、常见配置 方式一:yml配置 spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的…

机器学习 day35(决策树)

决策树 上图的数据集是一个特征值X采用分类值,即只取几个离散值,同时也是一个二元分类任务,即标签Y只有两个值 上图为之前数据集对应的决策树,最顶层的节点称为根节点,椭圆形节点称为决策节点,矩形节点称…

ffplay源码解析-FrameQueue队列

帧队列架构位置 结构体源码 FrameQueue结构体 /* 这是一个循环队列,windex是指其中的首元素,rindex是指其中的尾部元素. */ typedef struct FrameQueue {Frame queue[FRAME_QUEUE_SIZE]; // FRAME_QUEUE_SIZE 最大size, 数字太大时会占用大量的…

DPDK环境搭建

(1)虚拟环境:VMware Workstation 16 Pro 网上随便下载一个也行 (2)操作系统:ubuntu-22.04-beta-desktop-amd64.iso 下载地址:oldubuntu-releases-releases-22.04安装包下载_开源镜像站-阿里云…

Thymeleaf语法详解

目录 一、Thymeleaf介绍 (1)依赖 (2)视图 (3)控制层 二、变量输出 三、操作字符串 四、操作时间 五、条件判断 六、遍历集合 (1)迭代遍历 (2)将遍…

Java————数组

1 、数组 数组可以看成是相同类型元素的一个集合, 在内存中是一段连续的空间。 每个空间有自己的编号,其实位置的编号为0,即数组的下标。 数组是引用类型。 1. 数组的创建 T[] 数组名 new T[N];T:表示数组中存放元素的类型 …

Kakfa - Producer机制原理与调优

Producer是Kakfa模型中生产者组件,也就是Kafka架构中数据的生产来源,虽然其整体是比较简单的组件,但依然有很多细节需要细品一番。比如Kafka的Producer实现原理是什么,怎么发送的消息?IO通讯模型是什么?在实…

对Docker的认识和总结

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接…

数据结构入门 — 二叉树的概念、性质及结构

本文属于数据结构专栏文章,适合数据结构入门者学习,涵盖数据结构基础的知识和内容体系,文章在介绍数据结构时会配合上动图演示,方便初学者在学习数据结构时理解和学习,了解数据结构系列专栏点击下方链接。 博客主页&am…

学习记忆——英语——字母编码

字母编码表 A:苹果 ; B:一支笔或者小男孩boy ; C:月亮或者镰刀 ; D:笛子或者弟弟或者狗dog ; E:大白鹅 ; F:斧头 ; G:鸽子…

Python:安装Flask web框架hello world示例

安装easy_install pip install distribute 安装pip easy_install pip 安装 virtualenv pip install virtualenv 激活Flask pip install Flask 创建web页面demo.py from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello World! 2023if _…

Spring注解家族介绍: @RequestMapping

前言: 今天我们来介绍RequestMapping这个注解,这个注解的内容相对来讲比较少,篇幅会比较短。 目录 前言: RequestMapping 应用场景: 总结: RequestMapping RequestMapping 是一个用于映射 HTTP 请求…

[Linux打怪升级之路]-缓冲区

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…

SpringCloud Ribbon--负载均衡 原理及应用实例

😀前言 本篇博文是关于SpringCloud Ribbon的基本介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力…

深入理解线程安全

引言: 在多线程编程中,线程安全是一个至关重要的概念。线程安全可能到导致数据不一致,应用程序崩溃和其他不可预测的后果。本文将深入探讨线程安全问题的根本原因,并通过Java代码示例演示如何解决这些问题。 线程安全的根本原因 …