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

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

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)

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)

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格式,都能够满足不同的数据交换需求。通过多练习和实践,我们可以更加熟练地使用这些数据交换格式,提高我们数据处理和交互的效率。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容