Mari kita bincangkan tentang pelaksanaan operasi siri data Python

PHPz
Lepaskan: 2023-04-12 09:31:12
ke hadapan
2067 orang telah melayarinya

​Dalam pembangunan harian, mensiri dan menyahsiri data adalah operasi data biasa Python menyediakan dua modul untuk memudahkan pembangun melaksanakan operasi bersiri data, iaitu modul json dan modul pickle. Perbezaan utama antara dua modul ini adalah seperti berikut:

  • json ialah format siri teks, manakala pickle ialah format siri binari
  • json ialah sesuatu yang boleh kita baca secara intuitif, manakala pickle No;
  • json boleh dikendalikan dan digunakan secara meluas di luar sistem Python, manakala pickle adalah khusus Python
  • Secara lalai, json hanya boleh mewakili jenis Python terbina dalam Subset tidak boleh mewakili kelas tersuai; ; tetapi jeruk boleh mewakili sejumlah besar jenis data Python.

Mari kita bincangkan tentang pelaksanaan operasi siri data Python

Modul Json

Json ialah format pertukaran data yang ringan Disebabkan jumlah data yang dihantar dan penghuraian mudah format data Dengan ciri-cirinya, ia digunakan secara meluas dalam operasi interaktif antara pelbagai sistem untuk memindahkan data sebagai format data. Ia mengandungi berbilang fungsi yang biasa digunakan, seperti berikut:

fungsi dump()

fungsi dump() boleh mengekod objek Python ke dalam rentetan Json. Contohnya:

#字典转成json字符串 加上ensure_ascii=False以后,可以识别中文, indent=4是间隔4个空格显示 

import json 
d={'小明':{'sex':'男','addr':'上海','age':26},'小红':{ 'sex':'女','addr':'上海', 'age':24},}
print(json.dumps(d,ensure_ascii=False,indent=4)) 

#执行结果:
{
"小明": {
"sex": "男",
"addr": "上海",
"age": 26
},
"小红": {
"sex": "女",
"addr": "上海",
"age": 24
}
}
Salin selepas log masuk

fungsi dump()

fungsi dump() boleh mengekod objek Python ke dalam rentetan json dan menulisnya secara automatik ke fail, tanpa perlu menulis fail berasingan. Contohnya: fungsi

#字典转成json字符串,不需要写文件,自动转成的json字符串写入到‘users.json’的文件中 
import json 
d={'小明':{'sex':'男','addr':'上海','age':26},'小红':{ 'sex':'女','addr':'上海', 'age':24},}
#打开一个名字为‘users.json’的空文件
fw =open('users.json','w',encoding='utf-8')

json.dump(d,fw,ensure_ascii=False,indent=4)
Salin selepas log masuk

loads()

loads() boleh menukar rentetan json kepada jenis data Python. Contohnya:

#这是users.json文件中的内容
{
"小明":{
"sex":"男",
"addr":"上海",
"age":26
},
"小红":{
"sex":"女",
"addr":"上海",
"age":24
}
}

#!/usr/bin/python3
#把json串变成python的数据类型 
import json
#打开‘users.json’的json文件
f =open('users.json','r',encoding='utf-8')
#读文件
res=f.read()
print(json.loads(res)) 

#执行结果:
{'小明': {'sex': '男', 'addr': '上海', 'age': 26}, '小红': {'sex': '女', 'addr': '上海', 'age': 24}}
Salin selepas log masuk

fungsi load()

load() mempunyai fungsi yang sama dengan load() fungsi boleh menukar rentetan json kepada jenis data Python bahawa bekas Parameter adalah objek fail, tidak perlu membaca fail ini secara berasingan. Contohnya:

#把json串变成python的数据类型:字典,传一个文件对象,不需要再单独读文件 
import json 
#打开文件
f =open('users.json','r',encoding='utf-8') 
print(json.load(f))

#执行结果:
{'小明': {'sex': '男', 'addr': '上海', 'age': 26}, '小红': {'sex': '女', 'addr': '上海', 'age': 24}}
Salin selepas log masuk

Modul jeruk

Modul jeruk mempunyai fungsi yang sama dengan modul Json dan juga mengandungi empat fungsi, iaitu dump(), dumps(), loads() dan load( ). Perbezaan utama mereka adalah seperti berikut:

Perbezaan antara dump dan dump ialah yang pertama mensirikan objek, manakala yang kedua mensiri objek dan menyimpannya ke fail.

Perbezaan antara beban dan beban ialah yang pertama menyahsiri rentetan bersiri, manakala yang terakhir membaca rentetan bersiri daripada fail dan menyahsirinya.

fungsi dump()

fungsi dump() boleh menukar data kepada rentetan yang hanya dikenali oleh bahasa python dalam bentuk khas, contohnya:

import pickle
# dumps功能
import pickle
data = ['A', 'B', 'C','D']
print(pickle.dumps(data))

b'x80x03]qx00(Xx01x00x00x00Aqx01Xx01x00x00x00Bqx02Xx01x00x00x00Cqx03Xx01x00x00x00Dqx04e.'
Salin selepas log masuk

fungsi dump( )

fungsi dump() boleh menukar data kepada rentetan yang dikenali hanya oleh bahasa python dalam bentuk khas dan menulisnya pada fail. Contohnya:

# dump功能
with open('test.txt', 'wb') as f:
pickle.dump(data, f)
print('写入成功')

写入成功
Salin selepas log masuk

fungsi loads()

fungsi loads() boleh menukar data jeruk kepada struktur data python. Contohnya:

# loads功能
msg = pickle.loads(datastr)
print(msg)

['A', 'B', 'C', 'D']
Salin selepas log masuk

fungsi load()

fungsi load() boleh membaca data daripada fail data dan menukarnya kepada struktur data python. Contohnya:

# load功能
with open('test.txt', 'rb') as f:
 data = pickle.load(f)
print(data)

['A', 'B', 'C', 'D']
Salin selepas log masuk

Ringkasan

Bahagian ini memperkenalkan anda kepada operasi biasa modul json&pickle dalam Python, yang menyediakan sokongan untuk mensiri dan menyahsiri data.


Atas ialah kandungan terperinci Mari kita bincangkan tentang pelaksanaan operasi siri data Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan