Python文件操作:JSON、CSV、TSV、Excel和Pickle文件序列化(Python文件处理全攻略:JSON、CSV、TSV、Excel与Pickle序列化详解)

原创
ithorizon 4周前 (10-19) 阅读数 21 #后端开发

Python文件操作全攻略:JSON、CSV、TSV、Excel与Pickle序列化详解

一、引言

在Python编程中,文件操作是一项基本且重要的技能。本文将详细介绍Python中怎样处理JSON、CSV、TSV、Excel和Pickle文件,包括文件的序列化和反序列化操作。我们将使用Python的标准库和第三方库来完成这些任务。

二、JSON文件操作

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。

2.1 JSON序列化

使用Python的json模块可以将Python对象序列化为JSON格式的字符串。

import json

data = {

'name': '张三',

'age': 30,

'city': '北京'

}

json_str = json.dumps(data)

print(json_str)

2.2 JSON反序列化

同样使用json模块可以将JSON格式的字符串反序列化为Python对象。

json_str = '{"name": "张三", "age": 30, "city": "北京"}'

data = json.loads(json_str)

print(data)

三、CSV文件操作

CSV(Comma-Separated Values)是一种以逗号分隔的值格式,常用于表格数据的存储和交换。

3.1 CSV写入

使用csv模块可以将数据写入CSV文件。

import csv

headers = ['name', 'age', 'city']

rows = [

['张三', 30, '北京'],

['李四', 25, '上海'],

['王五', 28, '广州']

]

with open('data.csv', 'w', newline='') as f:

writer = csv.writer(f)

writer.writerow(headers)

writer.writerows(rows)

3.2 CSV读取

同样使用csv模块可以读取CSV文件中的数据。

with open('data.csv', 'r') as f:

reader = csv.reader(f)

for row in reader:

print(row)

四、TSV文件操作

TSV(Tab-Separated Values)文件与CSV类似,但使用制表符作为字段分隔符。

4.1 TSV写入

使用csv模块也可以处理TSV文件,只需将分隔符设置为制表符。

import csv

headers = ['name', 'age', 'city']

rows = [

['张三', 30, '北京'],

['李四', 25, '上海'],

['王五', 28, '广州']

]

with open('data.tsv', 'w', newline='') as f:

writer = csv.writer(f, delimiter='\t')

writer.writerow(headers)

writer.writerows(rows)

4.2 TSV读取

读取TSV文件时,同样设置分隔符为制表符。

with open('data.tsv', 'r') as f:

reader = csv.reader(f, delimiter='\t')

for row in reader:

print(row)

五、Excel文件操作

Excel文件是一种常用的电子表格格式,可以使用第三方库如`openpyxl`进行操作。

5.1 Excel写入

使用`openpyxl`库创建并写入Excel文件。

from openpyxl import Workbook

wb = Workbook()

ws = wb.active

ws['A1'] = 'name'

ws['B1'] = 'age'

ws['C1'] = 'city'

ws.append(['张三', 30, '北京'])

ws.append(['李四', 25, '上海'])

ws.append(['王五', 28, '广州'])

wb.save('data.xlsx')

5.2 Excel读取

使用`openpyxl`库读取Excel文件。

from openpyxl import load_workbook

wb = load_workbook('data.xlsx')

ws = wb.active

for row in ws.iter_rows(min_row=2, max_col=3, max_row=4):

print(row[0].value, row[1].value, row[2].value)

六、Pickle文件操作

Pickle是Python的一种二进制序列化格式,可以序列化几乎所有的Python对象。

6.1 Pickle序列化

使用pickle模块可以将Python对象序列化为字节流。

import pickle

data = {

'name': '张三',

'age': 30,

'city': '北京'

}

with open('data.pkl', 'wb') as f:

pickle.dump(data, f)

6.2 Pickle反序列化

使用pickle模块可以反序列化字节流为Python对象。

with open('data.pkl', 'rb') as f:

data = pickle.load(f)

print(data)

七、总结

本文详细介绍了Python中JSON、CSV、TSV、Excel和Pickle文件的操作方法。通过这些方法,我们可以轻松地对数据进行序列化和反序列化,从而方便地存储和读取数据。掌握这些文件操作技巧,将有助于我们在Python编程中更高效地处理数据。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门