python数据数据存储-五种使用python储存数据的方式

2022-08-21 08:18:15

原标题:五种使用python储存数据的方式

ff9a6acc8ee74b3ab0bc4b52855d203d.png

在python编程开发中,总是不可避免的遇到数据储存的问题,下面小卓就介绍python与几种数据储存方式交互的方法。

json文件

json是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。层次结构简洁而清晰,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

最主要的是,通过json这个包可以很方便的解决无论是py2还是py3中的编码问题,json的内容结构也近似于python中的字典和列表,操作起来特别方便。

[python]view plain copy

import json

# 此时有一个json文件,结构大概是 [{},{},{}...] 打开这个文件

# 使用json load读取文件内容,然后可以直接用列表或者字典的方式去操作con这个变量

con = json.loads(content)

# 那么如何储存为json文件呢?

# 使用dumps将列表序列化并且转换为unicode编码,储存的时候,就可以存你最喜欢的utf-8了

lis = [{},{},{}...]

data = json.dumps(lis, ensure_ascii=False)

f.write(data.encode('utf-8'))

csv文件

转换为csv文件后,我们就可以直接用excel打开拉图表了

[python]view plain copy

import csv

# 打开文件

with open(filename, 'w') as f:

writer = csv.writer(f) # 构造写入器

data = ('1','2','3') # 填写三格

data = ('','','3') # 填写一格,前两格空起来

data = ('1','') # 填写第一格,后面无论多少格都空起来

writer.writerow(data) # writerow每执行一次,写入一行 注意其中的参数data需要是一个元组

MySQL数据库

应该是最常用的操作了,使用mysql的优点是看数据真的很直观(如果使用GUI程序的话)

[python]view plain copy

导入包略微不一样

@python3

import pymysql

@python2

import MySQLdb

# 建立连接 注意数据库写入数据时数据的编码

conn = MySQLdb.connect(host='localhost', port=3306, db='test',

user='root', passwd='', charset='utf8')

# 新建游标 游标操作sql语句

cur = conn.cursor()

result = cur.execute("insert into students(name) values('Jack')")

result = cur.execute("insert into students(name,age) values(%s,%s)", params)

# sql对数据库数据有改变的时候,使用commit()提交,否则不生效

conn.commit()

# 返回数据到python,使用fetchone和fetchall从内存中取数据,取了一个清空一个

cur.execute('select * from students where id between 1 and 5')

result=cur.fetchone()

result=cur.fetchall()

# 最后记得关闭连接

cur.close()

conn.close()

Redis数据库

优点是方便,速度快,需要注意的是取出的数据是二进制数据,一般需要转为字符串再操作。

操作大全: python-redis操作大全

[python]view plain copy

import redis

# 建立连接

client = redis.Redis(host='lcoalhost', port=6379)

# 操作数据

client.set('nums', [1,2,3,4,5])

result = client.get('name')

# 使用事务(避免失败操作导致数据只操作了一半)

pipe = client.pipeline()

pipe.set('name', 'Jack')

pipe.execute()

Mongdb数据 库

优点是不在乎数据结构,需要注意的是取出来的时候要写个脚本整理一下。

[python]view plain copy

import pymongo

# 建立连接 指定数据表

client = pymongo.MongoClient('localhost', 27017)

test1_db = client.test1

sheet_stu = db.stu

# 操作数据

info = {name:'Jack',age:18}

info_id = stu.insert_one(info).inserted_id

cur_list = [cur for cur in stu.find()]

count = stu.count()

中软卓越官网:www.whzrgj.com

刘老师:15623074480

联系QQ:2041794770

QQ交流群:114982018

微信公众号:chinasoft-wh/中软卓越中西区

地址:

武汉市洪山区关山大道光谷软件园F3栋4楼

郑州市金水区花园路与农业路交叉口兰德中心8楼

西安市高新区科技二路西安软件园零壹广场六楼返回搜狐,查看更多

责任编辑:

  • 作者:weixin_37988176
  • 原文链接:https://blog.csdn.net/weixin_37988176/article/details/109372864
    更新时间:2022-08-21 08:18:15