第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將 AWS Athena 的多記錄多行 JSON 轉(zhuǎn)換為每記錄單行 JSON?

如何將 AWS Athena 的多記錄多行 JSON 轉(zhuǎn)換為每記錄單行 JSON?

BIG陽(yáng) 2023-09-05 20:24:58
我想將 json 文件與 AWS Athena 結(jié)合使用,但 Athena 不支持多行 JSON。我有以下內(nèi)容(其中一個(gè)值是 XML){  "id" : 10,  "name" : "bob",  "data" : "<some> \n <xml> \n <in here>"},{  "id" : 20,  "name" : "jane",  "data" : "<other> \n <xml> \n <in here>"}我需要雅典娜以下內(nèi)容{ "id" : 10, "name" : "bob", "data" : "<some> <xml> <in here>" },{ "id" : 20, "name" : "jane", "data" : "<other> <xml> <in here>" }我正在使用 RazorSQL 從 DB2 導(dǎo)出數(shù)據(jù),并嘗試使用 Python 編寫(xiě)一些代碼來(lái)“扁平化”它,但尚未成功。謝謝你!
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

我最終做了一些快速而骯臟的事情


import json

with open('data.json') as jfile:

    data = json.load(jfile)

    for d in data:

        print(json.dumps(d) + ',')

哪個(gè)打印


{'id': 200, 'name': 'bob', 'data': '<other> \n <xml> \n <data>'},

{"id": 200, "name": "bob", "data": "<other> \n <xml> \n <data>"},

剛剛將輸出保存到另一個(gè)文件:P


結(jié)果失敗了,因?yàn)槲募罅?,但是?.已經(jīng)很接近了!


查看完整回答
反對(duì) 回復(fù) 2023-09-05
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

使用正則表達(dá)式


import re

html = '''

{

  "id" : 10,

  "name" : "bob",

  "data" : "<some> \n <xml> \n <in here>"

},

{

  "id" : 20,

  "name" : "jane",

  "data" : "<other> \n <xml> \n <in here>"

}

'''



def replaceReg(html, regex, new):

    return re.sub(re.compile(regex), new, html)


html = replaceReg(html,' \n ',' ')

html = replaceReg(html,'{[\s]+','{ ')

html = replaceReg(html,'[\s]+}',' }')

html = replaceReg(html,',[\s]+',', ')

html = replaceReg(html,'}, ','\n')

print (html)

結(jié)果:


{ "id" : 10, "name" : "bob", "data" : "<some> <xml> <in here>" 

{ "id" : 20, "name" : "jane", "data" : "<other> <xml> <in here>" }


查看完整回答
反對(duì) 回復(fù) 2023-09-05
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

您只需要在寫(xiě)入另一個(gè)文件時(shí)替換結(jié)束換行符(\n ):


s=''

with open('input.txt','r') as f_in, open('output.txt', 'w') as f_out:

    for line in f_in:        

        s += line.replace('\n', '')

    f_out.write(s)

其中 input.txt 具有以下數(shù)據(jù):


{

  "id" : 10,

  "name" : "bob",

  "data" : "<some> \n <xml> \n <in here>"

},

{

  "id" : 20,

  "name" : "jane",

  "data" : "<other> \n <xml> \n <in here>"

}


查看完整回答
反對(duì) 回復(fù) 2023-09-05
  • 3 回答
  • 0 關(guān)注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)