当前位置:首页 » 编程语言 » python读写json文件

python读写json文件

发布时间: 2023-02-14 15:35:10

‘壹’ python中json处理

python中json文件处理涉及的四个函数json.loads()、json.mps()、json.load()、json.mp()。

1)json.mps()

    将一个Python数据类型dict进行json格式的编码(字典->字符串)

    eg:

    age_dict = {'age1':'12', 'age2':'15'}

    json_info = json.mps(age_dict)

    print("json_info = {}".format(json_info))

    print("json_info type = {}".format(type(json_info)))

2)json.loads()

    将json格式数据转换为dict(字符串->字典)

    json_age ='{"age1": "12", "age2": "15"}'

    dict_age = json.loads(json_info)

    print("json_age = {}".format(json_age))

    print("dict_age type = {}".format(str(type(dict_age))))

3)json.load()

    读取文件,将里json格式字符串转化为dict

    with open(test.json, 'r') as file:

        contents = json.load(file)

    print(contents)

4)json.mp()

    将dict类型转换为json格式字符串,存入文件

    number = [1, 2, 3, 5]

    file = 'number.json'

    with open(file , 'w') as file:

        json.mp(number, file)

‘贰’ Python怎么读写json格式文件

以下示例展示基于Python3.x的json文件的读写:

defjson_basic():
"""json基本操作"""
importjson
data={
"ID":1,
"课程":"Python",
"机构":"优品课堂",
"单价":200.00
}
json_str=json.mps(data)
print(json_str)
json_data=json.loads(json_str)
print(json_data)


defjson_write_file():
"""json操作文件"""
importjson
data={
"ID":1,
"课程":"Python",
"机构":"优品课堂",
"单价":200.00
}
withopen('data.json','w',encoding='utf8')asf:
json.mp(data,f)

‘叁’ Python怎么读写json格式文件

importjson
#read
f=open('x.json','r')
s=f.read()
f.close()
o=json.loads(s)
#write
o['name']='xx'
s=json.mps(o)
f=open('y.json','w')
f.write(s)
f.close()

‘肆’ python怎么读取json文件内容

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON在python中分别由list和dict组成。

这是用于序列化的两个模块:

  • json: 用于字符串和python数据类型间进行转换

  • pickle: 用于python特有的类型和python的数据类型间进行转换

  • Json模块提供了四个功能:mps、mp、loads、load

    pickle模块提供了四个功能:mps、mp、loads、load

    json mps把数据类型转换成字符串 mp把数据类型转换成字符串并存储在文件中 loads把字符串转换成数据类型 load把文件打开从字符串转换成数据类型

    json是可以在不同语言之间交换数据的,而pickle只在python之间使用。json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。

    事例:

    mps:将python中的 字典 转换为 字符串

‘伍’ python同时读写多个文件暨大型json文件读取方法

最近处理NLP数据集时,需要一边读json文件,一边向自己创建的txt写入提取出的对话数据集,即同时读写多个文件,本来记得以前在哪看过这波操作的,但时间有点久了,忘了。

又由于新换了mac,win上原有的梯子挂了,这就很离谱,因此也没法谷歌,只能用网络凑合着查了一番,看看有没有大佬记录了这个小tip。但是很遗憾,网上找到的方法都很捞,简直是海底捞,没办法。好在脑子里还有点印象,修修改改总算写出来了,在此做个记录,同时也开源方便一下诸位道友。

你是不是觉得我很捞,很菜,连个文件读写都不会~
那么,对不起,诸位,现在,我要起飞了,你以为你是第二层,我是第一层,实际上,我在第五层,且看我写给你看~

最后,如果有道友对俺的开放域对话数据集感兴趣,这个其实也是开源的
数据集链接

‘陆’ python request/读写/上传文件

python 读写文件:

data_json = json.mps(result_r)  #json字符串  

f =open('E://XXX.txt',"a+")  #打开文件,追加+读写

f.write(data_json) # data_json 写入XXX.txt'文件

f.seek(0)  # 光标移动到文件开头

lines = f.read() # 逐行读入

f.close() #关闭文件

mode 打开的方式(r,w,a,x,b,t,r+,w+,a+,U)

r 以只读方式打开文件。文件的指针会放在文件的开头。

w 以写入方式打开文件。文件存在覆盖文件,文件不存在创建一个新文件。

a 以追加方式打开文件。如果文件已存在,文件指针放在文件末尾。如果文件不存在,创建新文件并可写入。

r+ 打开一个文件用于读写,文件指针会放在文件的开头

w+ 打开一个文件用于读写,文件存在覆盖文件,文件不存在创建一个新文件。

a+ 打开一个文件用于读写,如果文件已存在,文件指针放在文件末尾。如果文件不存在,创建新文件并可写入。

记忆方法:记住r读,w写,a追加,每个模式后加入+号就变成可读写。

f =open('E://xxx.txt',"a+")    /    f=open(r'E://xxx.txt',mode='a+',encoding='UTF-8')

踩坑1>  

没有加encoding='UTF-8',可能会报如下错:

import requests  # 使用 request函数需导入 request 库

import json   #使用 JSON 函数需要导入 json 库: import json 。

param ={} #请求body

url ='http://域名/api' 

header = {'content-type':'application/json'}

r = requests.post(url,json=param,headers=header)    #发送post请求

result_r = r.json() #请求返回的json传入对象result_r

data_json = json.mps(result_r)  #将 Python-result_r对象转为字符串 json.mps()

文件上传请求(csv文件)

file_path = "xxx.csv"   文件路径

uploaddata = {"file":open(file_path, "rb")}  

file_upload_result = requests.post(api_URL, files=uploaddata, cookies=cookie)

‘柒’ python3 读excel转Json文件

from xlrd import *

import json

# 参考1-字典、列表转JSON:https://www.cnblogs.com/longchang/p/10904850.html

# 参考2-JSON直接保存到文件:https://www.cnblogs.com/miyatest/p/9603897.html

# 从excel读取数据存放到列表中

def readExcel():

    keyData=[]   # 定义空List,用于保存读到的行数据

    excelBook=open_workbook("data.xlsx")    # 从当前目录读取《data.xlsx》文件

    table=excelBook.sheet_by_name("data")  # 从《data.xlsx》中找名为 data的sheet页

    rowNum=table.nrows  # 获取《data.xlsx》-->data页中 行数

    colNum=table.ncols  # 获取《data.xlsx》-->data页中 列数

    colName=table.row_values(0)    # 取第一行数据,即列名,colName 是个List

    # print(colName)

    if rowNum<=1:

        print("没数据...")    # 如果行数<=1,说明没有数据,因第1行一般定义为列名

    else:

        for i in range(rowNum-1):

            d={}    # 定义空字典,用于存放获取到数据

            values=table.row_values(i+1)    # 获取每行的数据,values最终是个List

            # print(values)

            for x in range(colNum):    #  每个列作为字典的一组数据

                d[colName[x]]=values[x]   #  用colName值作为字典的key,values值作业为字典的value

                # print(d)

            keyData.append(d)    # 读完一行数据保存到字典,再保存到列表

    # print(keyData)

    return keyData   #  全部数据读完并保存到列表后,返回

#  列表转Json

def listToJson():

     keyParam=readExcel()    # 调用从excel读取数据的函数,把数据保存到列表

    CaseConfig=open("CaseConfig.json", mode="w+")    #  创建json文件

    CaseConfig.write('{\n"key":')    # 往json文件中写数据,先写json的格式的{,和模块名

      # 把从excel读取的数据转成Json格式保存入 CaseConfig,indent=4是进行格式化,使json排版好看

    json.mp(keyParam, CaseConfig, indent=4)  

    CaseConfig.write('\n}')   # 往json文件中写数据,写结尾的 },写前先换行

    CaseConfig.close()    # 关闭json文件,必要!!

if __name__ == '__main__':        #  调试调用

    listToJson()

‘捌’ python写入json文件

想要多条相同key的数据添加json中,先将数据存入到字典中,再 append 到列表中。最后存入json中。

这样子list才会是下图所示的样子。

热点内容
易享服务器地址 发布:2024-11-08 15:55:59 浏览:752
爱奇艺的密码哪里看 发布:2024-11-08 15:52:45 浏览:533
安卓10和平板哪个更流畅 发布:2024-11-08 15:51:18 浏览:75
配置低也能玩的枪战游戏有哪些 发布:2024-11-08 15:41:59 浏览:169
python中文匹配 发布:2024-11-08 15:41:06 浏览:400
通分新算法 发布:2024-11-08 15:37:01 浏览:370
安卓多乐够级为什么没有捕鱼 发布:2024-11-08 15:32:27 浏览:657
高级数据库系统 发布:2024-11-08 15:32:14 浏览:540
adovc数据库 发布:2024-11-08 15:32:11 浏览:541
winclient怎么配置ip 发布:2024-11-08 15:23:53 浏览:482