當前位置:首頁 » 編程語言 » 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 18:38:29 瀏覽:250
演算法用英語 發布:2024-11-08 18:37:44 瀏覽:994
android自動彈出輸入法 發布:2024-11-08 18:19:51 瀏覽:275
存儲器最小單位 發布:2024-11-08 18:04:49 瀏覽:796
伺服器掛網站怎麼掙錢 發布:2024-11-08 18:03:52 瀏覽:858
csqlserver 發布:2024-11-08 17:43:08 瀏覽:207
sql綠色 發布:2024-11-08 17:26:48 瀏覽:806
安卓手機如何更新紅標 發布:2024-11-08 17:25:23 瀏覽:63
python正則空格 發布:2024-11-08 17:14:18 瀏覽:235
蟑螂資料庫 發布:2024-11-08 17:13:07 瀏覽:781