天天看點

修改json檔案,儲存為txt文檔

作者:每天更優秀

訴求:把亂七八糟的json檔案,改成規範的、易于閱讀的txt文檔。

解決方法:

打開檔案,加載資料:

import json

path = r'B:\我的遊戲\天涯明月刀\遊戲資料(天涯明月刀)\[解壓後使用]天刀茶話會答題器v1.2.0\tiku.json'
with open(path, "r", encoding='utf-8') as file:
    data = json.load(file)
    print(data)           

資料如下:

{'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'c': ['春色滿園關不住', '萬紫千紅總是春', '草長莺飛二月天', '最是一年春好處', '春在溪頭荠菜花', '陽春布德澤', '東風随春歸', '錦江春色來天地', '深鎖春光一院愁', '草樹知春不久歸', '秀靥豔比花嬌', '青春須早為', '猶是春……           
修改json檔案,儲存為txt文檔

觀察一下資料的結構,提取想要的内容:

# 10人茶話會資題庫
a = data['a10']
print(a)           

結果如下:

[{'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'c': ['映日荷花别樣紅', '千朵萬朵壓枝低', '山寺桃花始盛開', '唯有牡丹真國色', '卻道海棠依舊', '我花開後百花殺', '山青花欲燃', '梅落繁枝千萬片', '亂紅飛過秋千去', '一日看盡長安花', '病樹前頭萬木春', 
'燕山雪花大如席', '隔江猶唱後庭花', '花細委地無人收']……           

修改内容,并且儲存為txt檔案。

tiku = []
count = 0
p = r'B:\我的遊戲\天涯明月刀\遊戲資料(天涯明月刀)\天刀10人茶話會.txt'

# 寫入txt檔案
with open(p, "w") as file:
    for item in a:
        # 問題
        question = item['q']
        # 選項
        text = item['c']

        count = count + 1
        print(f'{count}.{question}')
        file.write(f'{count}.{question}')
        file.write("\n")

        text_dui = [f'{i+1}.{wenzi}' for i, wenzi in enumerate(text[0:10])]
        text_cuo = [f'{i+1}.{wenzi}' for i, wenzi in enumerate(text[-4:])]

        print(f'正确: {text_dui}')
        file.write(f'正确: {text_dui}')
        file.write("\n")

        print(f'錯誤: {text_cuo}')
        file.write(f'錯誤: {text_cuo}')
        file.write("\n")

        print()
        file.write("\n")           
修改json檔案,儲存為txt文檔

關鍵函數:

1.打開檔案。

with open(p, "w") as file           

2.儲存内容。

file.write(f'{count}.{question}')           

3.儲存空行。

file.write("\n")           

4.載入json資料。

data = json.load(file)           

儲存好的txt檔案是這樣的:

1.以下含有“花”的詩句有哪些?
正确: ['1.映日荷花别樣紅', '2.千朵萬朵壓枝低', '3.山寺桃花始盛開', '4.唯有牡丹真國色', '5.卻道海棠依舊', '6.我花開後百 
花殺', '7.山青花欲燃', '8.梅落繁枝千萬片', '9.亂紅飛過秋千去', '10.一日看盡長安花']
錯誤: ['1.病樹前頭萬木春', '2.燕山雪花大如席', '3.隔江猶唱後庭花', '4.花細委地無人收']

2.以下哪些詩句跟“月亮”有關?
正确: ['1.海上生明月', '2.半輪雞唱五更殘', '3.露似珍珠月似弓', '4.江清月近人', '5.清風明月本無價', '6.海上明月共潮生', 
'7.今月曾經照古人', '8.皎如飛鏡臨丹阙', '9.舉頭望明月', '10.月光長照金樽裡']
錯誤: ['1.為君持酒勸斜陽', '2.白銀盤裡一青螺', '3.浮雲一别後', '4.明珠交玉體']

3.以下含有“雲”的詩句有哪些?
正确: ['1.白雲深處有人家', '2.黃河遠上白雲間', '3.孤雲獨去閑', '4.朝辭白帝彩雲間', '5.秋風起兮白雲飛', '6.野徑雲俱黑', 
'7.蒼茫雲海間', '8.雲深不知處', '9.雲生結海樓', '10.中峰見孤雲']
錯誤: ['1.香霧雲鬟濕', '2.雲雨巫山枉斷腸', '3.雲母屏風燭影深', '4.金風玉露一相逢']

……