執(zhí)行python腳本并傳入json數(shù)據(jù)格式參數(shù)方式
執(zhí)行python腳本并傳入json數(shù)據(jù)格式參數(shù)
最近在寫一個python的數(shù)據(jù)統(tǒng)計分析腳本,需要根據(jù)json的數(shù)據(jù)格式參數(shù)去進行業(yè)務(wù)邏輯處理,出了一些情況拿出來一起分享討論。一下代碼純屬示例。

腳本類容很簡單,接收一下參數(shù),并使用json包進行一個加載解析。
執(zhí)行腳本,傳入一個json對象數(shù)組:
![]()
腳本接受到的內(nèi)容:
![]()
json加載解析出錯:

可以看到python腳本接收到參數(shù)的時候會將雙引號剔除,然后該傳入?yún)?shù)已經(jīng)不符合json數(shù)據(jù)格式,導(dǎo)致轉(zhuǎn)換失敗。
解決辦法,最外層使用單引號包裹:

可以看到參數(shù)成功傳入并且成功被解析。
注意:此方法只能在Linux操作系統(tǒng)上成功,在Windows上測試依然失敗,不知道原因,有了解的或者有更好的方法的歡迎評論。
Windows上測試結(jié)果:

python解析JSON數(shù)據(jù)
JSON(JavaScript Object Natation)是一種輕量級的數(shù)據(jù)交換格式,其基于ECMAScript的一個子集。Python中提供了json模塊來對JSON數(shù)據(jù)進行編碼和解碼。
json模塊包含以下兩個函數(shù)
json.dumps():對數(shù)據(jù)進行編碼jsonloads():對數(shù)據(jù)進行解碼
示例
import json
data1 = {
'id': '001',
'name': '李華',
'date': '20220115'
}
json_str = json.dumps(data1)
print("Python 原始數(shù)據(jù):", data1, type(data1))
print("Python 原始數(shù)據(jù):", repr(data1), type(repr(data1)))
print("JSON 對象:", json_str, type(json_str))
程序運行結(jié)果:

關(guān)于repr()的解釋,一種可以參考是說法是: 函數(shù)str() 用于將值轉(zhuǎn)化為適于人閱讀的形式,而repr() 轉(zhuǎn)化為供解釋器讀取的形式。
data2 = json.loads(json_str)
print("data2['name']:", data2["name"])
print("data2['id']:", data2["id"])
程序運行結(jié)果:

如果是處理json文件,則需要使用**json.dump()和json.load()**來編碼和解碼JSON數(shù)據(jù),代碼如下:
# 寫入數(shù)據(jù)
with open('data.json', 'w') as f:
json.dump(data1, f)
# 讀取數(shù)據(jù)
with open('data.json', 'r') as f:
data = json.load(f)
print(data)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Python存儲json數(shù)據(jù)發(fā)生亂碼的解決方法
- Python實現(xiàn)提取JSON文件中指定數(shù)據(jù)并保存至CSV或Excel內(nèi)
- Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實例
- 使用python如何提取JSON數(shù)據(jù)指定內(nèi)容
- Python解析JSON數(shù)據(jù)的基本方法實例代碼
- 詳解Python中如何將數(shù)據(jù)存儲為json格式的文件
- python 調(diào)用API接口 獲取和解析 Json數(shù)據(jù)
- Python?JSON數(shù)據(jù)解析過程(最新推薦)
相關(guān)文章
python 在指定范圍內(nèi)隨機生成不重復(fù)的n個數(shù)實例
今天小編就為大家分享一篇python 在指定范圍內(nèi)隨機生成不重復(fù)的n個數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
20個Python?random模塊常用函數(shù)的應(yīng)用與代碼示例
隨機數(shù)在計算機科學(xué)和數(shù)據(jù)科學(xué)領(lǐng)域中扮演著重要角色,Python的標準庫中提供了random模塊,用于生成各種隨機數(shù),本文將深入探討random模塊的各種函數(shù),以及它們的應(yīng)用場景和代碼示例,需要的可以參考下2024-03-03
Python calendar日歷模塊的應(yīng)用案例演示
calendar模塊是python用來處理日歷的模塊,通過不同的api和格式輸出多種形式的日歷格式,下面就通過不同的api和參數(shù)來輸出和學(xué)習(xí)calendar模塊的用法2023-06-06
Python相關(guān)庫設(shè)置技巧保護你的C盤
這篇文章主要為大家介紹了Python相關(guān)庫設(shè)置,保護你的C盤技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
可能是最全面的 Python 字符串拼接總結(jié)【收藏】
在 Python 中字符串連接有多種方式,這里簡單做個總結(jié),應(yīng)該是比較全面的了,方便以后查閱,需要的朋友可以參考下2018-07-07
Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程
SQLAlchemy是Python一個專門的數(shù)據(jù)庫管理工具,如果對Django ORM覺得有些生疏的話完全可以結(jié)合SQLAlchemy,這里我們就來總結(jié)一下Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程2016-06-06
Python中用函數(shù)作為返回值和實現(xiàn)閉包的教程
這篇文章主要介紹了Python中用函數(shù)作為返回值和實現(xiàn)閉包的教程,代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04

