首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]掌握Python文件序列化,轻松保存和读取数据技巧全解析

发布于 2025-07-21 12:31:14
0
505

引言在Python编程中,数据序列化是一项基本技能,它允许我们将对象状态转换为字节流,以便进行存储或传输。掌握Python文件序列化,可以让我们轻松地保存和读取数据。本文将详细介绍Python中常用的...

引言

在Python编程中,数据序列化是一项基本技能,它允许我们将对象状态转换为字节流,以便进行存储或传输。掌握Python文件序列化,可以让我们轻松地保存和读取数据。本文将详细介绍Python中常用的序列化方法,包括JSON、CSV、TSV、Excel和Pickle,并提供详细的代码示例。

JSON序列化

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于解析和生成。Python内置的json模块提供了对JSON的支持。

保存JSON数据

要将数据写入JSON文件,可以使用json.dump()方法。

import json
data = { 'name': 'Tom', 'age': 18
}
with open('data.json', 'w') as f: json.dump(data, f)

读取JSON数据

要从JSON文件中读取数据,可以使用json.load()方法。

with open('data.json', 'r') as f: data = json.load(f) print(data)

CSV和TSV序列化

CSV(逗号分隔值)和TSV(制表符分隔值)是常用的纯文本文件格式,用于存储表格数据。

保存CSV数据

import csv
data = [ ['Tom', 18], ['Jerry', 20], ['Alice', 22]
]
with open('data.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(data)

保存TSV数据

with open('data.tsv', 'w', newline='') as f: writer = csv.writer(f, delimiter='\t') writer.writerows(data)

读取CSV数据

with open('data.csv', 'r') as f: reader = csv.reader(f) for row in reader: print(row)

读取TSV数据

with open('data.tsv', 'r') as f: reader = csv.reader(f, delimiter='\t') for row in reader: print(row)

Excel序列化

Excel是一种流行的电子表格应用程序,在Python中,可以使用第三方库openpyxl来读取和写入Excel文件。

保存Excel数据

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
for i, value in enumerate(data): ws.cell(row=i+1, column=1, value=value[0]) ws.cell(row=i+1, column=2, value=value[1])
wb.save('data.xlsx')

读取Excel数据

from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
ws = wb.active
for row in ws.iter_rows(min_row=1, max_col=2, max_row=3): print([cell.value for cell in row])

Pickle序列化

Pickle是Python的标准模块,用于将Python对象序列化为二进制数据。

保存Pickle数据

import pickle
data = { 'name': 'Tom', 'age': 18
}
with open('data.pkl', 'wb') as f: pickle.dump(data, f)

读取Pickle数据

with open('data.pkl', 'rb') as f: data = pickle.load(f) print(data)

总结

通过本文的介绍,相信您已经掌握了Python文件序列化的基本技巧。在实际开发过程中,选择合适的序列化方法对于数据保存和读取至关重要。希望本文能帮助您在Python编程中更加得心应手。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流