当前位置:首页 » 编程语言 » python生成json

python生成json

发布时间: 2023-05-23 15:30:54

python字符串如何转json

解决方法:

⑵ python怎么把json格式数据输出为json文件

#读
file = 'test.json'
fp = open(file, 'r')
dict = json.mp(fp.read())
fp.close()

#写
testDict = {'a':1,'b':2}
file = 'my.json'
fp = open(file,'w+')
fp.write(json.loads(testDict))
fp.close()

⑶ 如何把python里面的list变成json对象

import json
file = open("your_file_name.txt", 'a') # 追加的方式写入
your_dict = {}
your_dict['a'] = 0.123
your_dict['b'] = [1.1, 1.2, 1.3, 1.4, 1.5]
your_dict['c'] = 0.2
json_str = json.mps(your_dict, ensure_ascii=False) # 将字典装化为json串
# ensure_ascii=False : 不用ascii,如果有中文的话,没有就无所谓了
file.write(json_str+'\n')
拿去 不谢~
--------------------------------------------------------------------------------
输出结果如下:
{"a": 0.123, "c": 0.2, "b": [1.1, 1.2, 1.3, 1.4, 1.5]}
--------------------------------------------------------------------------------------
就是不知道为什么c在中间(0.0)

⑷ python 字符串转 json

python字符串转json对象,需要使用json模块的loads函数,如下所示:
>>> import json
>>> s = '{"skey":"val","ikey":10}'
>>> jo = json.loads(s)
>>> jo
{'ikey': 10, 'skey': 'val'}
>>> jo['ikey']
10
>>> jo['skey']
'val'

json.loads介绍:
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
Deserialize s (a str instance containing a JSON document) to a Python object using this conversion table.
The other arguments have the same meaning as in load(), except encoding which is ignored and deprecated.
If the data being deserialized is not a valid JSON document, a JSONDecodeError will be raised.

⑸ 【Python】浅谈python中的json

一 前言  

   最近一直在做开发相关的工作--基于Django的web 平台,其中需要从model层传输数据到view 层做数据展示或者做业务逻辑处理。我们采用通用的Json格式--Json(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和程序解析。

二 认识Json

   2.1 Json 结构

   常见的Json格式为 “名称/值”对的集合,其中 值可以是对象,列表,字典,字符串等等。比如

backup_data = {"back_to_host": "dbbk0",

"ip_address": "10.10.20.3",

"host_name": "rac4",

"port": 3306}

  2.2 使用Json

  Python的Json模块序列化与反序列化的过程分别是 编码和解码。这两个过程涉及到两组不同的函数

  编码 把一个Python对象编码转换成Json字符串,json.mps(data)/json.mp(data,file_handler)

  解码 把Json格式字符串解码转换成Python对象,json.loads(data)/json.load(file_handler)

  在python中要使用Json模块做相关操作,必须先导入:

import Json

  2.3 主要函数

  编码函数主要有 json.mps(data)/json.mp(data,file_handler)

   json.mps()的参数是将python对象转换为字符串,如使用json.mps序列化的对象json_mps=json.mps({'a':1, 'b':2}) ,json_mps='{"b": 2, "a": 1}'

   json.mp 是将内置类型序列化为json对象后写入文件。

 解码函数主要由json.loads(data)/json.load(file_handler)  

    json.loads的参数是内存对象,把Json格式字符串解码转换成Python对象,json_loads=json.loads(d_json)  #{ b": 2, "a": 1},使用load重新反序列化为dict

    json.load()的参数针对文件句柄,比如本地有一个文件/tmp/test.json  json_load=json.load(open('/tmp/test.json'))

具体案例参考如下:

In [3]: data={"back_to_host": "rac1",

...: "ip_address": "10.215.20.3",

...: "host_name": "rac3",

...: "port": 3306}

In [7]: json_str=json.mps(data)

In [8]: print json_str

{"ip_address": "10.215.20.3", "back_to_host": "rac1", "host_name": "rac3", "port": 3306}

In [9]: json_loads=json.load(json_str)

---------------------------------------------------------------------------

AttributeError Traceback (most recent call last)

<ipython-input-9-180506f16431> in <mole>()

----> 1 json_loads=json.load(json_str)

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.pyc in load(fp, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)

284

285 ""

注意 从上面的报错信息来看 json.loads 传参是字符串类型,并不是文件句柄,没有 read()属性。

In [10]: json_loads=json.loads(json_str)

In [11]: print json_loads

{u'back_to_host': u'rac1', u'ip_address': u'10.215.20.3', u'host_name': u'rac3', u'port': 3306}

In [12]: type(json_loads)

Out[12]: dict

In [13]: type(json_str)

Out[13]: str

利用mp 将数据写入 mp.json

In [17]: with open('/tmp/mp.json','w') as f:

...: json.mp(json_str,f)

...:

yangyiDBA:~ yangyi$ cat /tmp/mp.json

"{\"ip_address\": \"10.10.20.3\", \"back_to_host\": \"rac1\", \"host_name\": \"rac3\", \"port\": 3306}"

yangyiDBA:~ yangyi$

利用json.load 将mp.sjon的数据读出来并赋值给 data 

In [18]: with open('/tmp/mp.json','r') as f:

...: data=json.load(f)

...:

In [19]: print data

{"ip_address": "10.10.20.3", "back_to_host": "rac1", "host_name": "rac3", "port": 3306}

三 小结

  本文算是一篇学习笔记,主要对比了json.loads/json.load  , json.mps/ json.mp 的使用差异 ,方便以后更好的使用json 。

以上为本次分享内容,感谢观看。

⑹ 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-Excel表格数据转json

运行后生成文件result.json,结果如下

获取到对应单元格后,判断该单元格是否为合并单元格,如果是,则找到该合并区域并获取左上角的值返回。

运行结果为

热点内容
U盘超级加密2008 发布:2025-05-19 19:44:32 浏览:452
灯带编程软件 发布:2025-05-19 19:32:30 浏览:285
如何判断服务器被多少人访问 发布:2025-05-19 19:27:45 浏览:123
编程stata 发布:2025-05-19 19:12:18 浏览:513
解压命令gz 发布:2025-05-19 19:11:37 浏览:823
linux下的程序开发 发布:2025-05-19 18:55:02 浏览:927
该文件夹未包含 发布:2025-05-19 18:54:17 浏览:195
安卓拳皇对战用哪个平台 发布:2025-05-19 18:42:39 浏览:531
华为畅玩5怎么取消锁屏密码 发布:2025-05-19 18:42:38 浏览:583
linuxrm文件夹 发布:2025-05-19 18:40:25 浏览:973