By accessing the website and accepting the Cookie Policy, you agree to use the cookies provided by the Site in accordance with to analyze traffic, remember your preferences, and optimize your experience.

标签 - json

json    2020-04-10 10:58:09    362    0    0

文件处理

使用文件可以做数据的持久化(本地化)。 包括数据库文件,txt、json,plist,二进制文件等等。
在python中的文件操作很简单,是通过一个内置函数open()实现的。

"""
open(file, mode='r', encoding=None, errors=None)
open函数主要接收两个参数,需要打开的文件file, 打开方式mode,encoding编码方式,
如果需要忽略少数的如编码之类的错误
可以传入errors="ignore"
w 以写方式打开, 文件不存在时创建新文件
a 以追加模式打开,文件不存在时创建新文件
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
"""
f = open(r"./python招聘信息.txt","r",encoding="utf-8")
f.read() #以字符串的形式,一次性返回所有文件内容
f.readline() # 读一行,调用一次,读取一行
f.readlines() #返回一个列表,列表的元素是文件中每一行的内容
#f.write() 当以写的形式打开文件时,可以使用该方法,需要传入写入的内容
f.flush() #当需要更新文件的内容时,调用该方法刷新缓存,立即将数据写入文件
f.close() #关闭文件,如果需要向文件中写入内容,在没有flush方法时,调用次方法才能将内容写入

json数据转换

json数据本身是文本数据;json文件就是后缀是.json的文件, 并且文件内容必须满足json格式的要求

1.json格式
a.一个json对应一条数据
b.json中的数据必须是json对应的数据类型

数字类型(number) --> 所有的数字,包含整数和小数,例如:100, 12.5
字符串类型(string) --> 用双引号括其的数据,例如:"abc", "你好,世界!"
数组(array) --> 相当于python中列表, 例如: [100, 230, "abc", "你好"]

json    2020-04-10 10:51:23    389    0    0

 列表元组转其他

# 列表转集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
set(list1)
# {6, 7, 8, 9}
 
#两个列表转字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
dict(zip(list1,list2))
# {'key1': '1', 'key2': '2', 'key3': '3'}
 
#嵌套列表转字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
 
# 列表、元组转字符串
list2 = ['a', 'a', 'b']
''.join(list2)
# 'aab'
 
tup1 = ('a', 'a', 'b')
''.join(tup1)
# 'aab'

字典转其他

# 字典转换为字符串
dic1 = {'a':1,'b':2}
str(dic1)
# "{'a': 1, 'b': 2}"
 
# 字典key和value互转
dic2 = {'a': 1, 'b': 2, 'c': 3}
{value:key for key, value in a_dict.items()}
# {1: 'a', 2: 'b', 3: 'c'}

字符串转其他

# 字符串转列表
s = 'aabbcc'
list(s)
# ['a', 'a', 'b', 'b', 'c', 'c']
 
# 字符串转元组
tuple(s)
# ('a', 'a', 'b', 'b', 'c', 'c')
 
# 字符串转集合
set(s)
# {'a', 'b', 'c'}
 
# 字符串转字典
dic2 = eval("{'name':'ljq', 'age':24}")
 
# 切分字符串
a = 'a b c'
a.split(' ')
# ['a', 'b', 'c']

JSON和字典之间相互转化

1.首先引入json模块

# 引入json模块
import json

2.转换

#JSON到字典转化:
dictinfo = json.loads(json_str) #