當前位置:首頁 » 編程語言 » 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,結果如下

獲取到對應單元格後,判斷該單元格是否為合並單元格,如果是,則找到該合並區域並獲取左上角的值返回。

運行結果為

熱點內容
解壓命令gz 發布:2025-05-19 19:11:37 瀏覽:822
linux下的程序開發 發布:2025-05-19 18:55:02 瀏覽:926
該文件夾未包含 發布:2025-05-19 18:54:17 瀏覽:194
安卓拳皇對戰用哪個平台 發布:2025-05-19 18:42:39 瀏覽:530
華為暢玩5怎麼取消鎖屏密碼 發布:2025-05-19 18:42:38 瀏覽:582
linuxrm文件夾 發布:2025-05-19 18:40:25 瀏覽:972
譚浩強c語言錯誤 發布:2025-05-19 18:39:33 瀏覽:952
安卓和蘋果用流量哪個劃算 發布:2025-05-19 18:38:04 瀏覽:408
安卓手機怎麼設定背景牆 發布:2025-05-19 18:29:40 瀏覽:1001
androidstudio斷點調試 發布:2025-05-19 18:20:23 瀏覽:766