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

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

解析反斜杠分隔的層次結(jié)構(gòu)路徑(不同的級(jí)別數(shù))

解析反斜杠分隔的層次結(jié)構(gòu)路徑(不同的級(jí)別數(shù))

陪伴而非守候 2023-12-26 16:41:45
我有不同級(jí)別數(shù)(最多 4 級(jí))的層次結(jié)構(gòu)路徑:FACILITIES \ PARKROADS \ GRASS/TURF BLVD MAINTENANCEROADS \ SIDEWALKS \ REPLACEMENTFACILITIES \ PARKING - MAIN STRECREATION \ BANDSHELL \ PROPERTY \ BUILDING-GENERALFACILITIES \ FIREHALL \ PLUMBINGFACILITIES我想解析_\_分隔符處的級(jí)別并將值插入 Maximo 數(shù)據(jù)庫列中:WOEQ1WOEQ2WOEQ3WOEQ4(這些列的長度現(xiàn)在只有 10。稍后我將創(chuàng)建長度更長的適當(dāng)?shù)淖远x列。)我嘗試過的:我已經(jīng)弄清楚如何解析級(jí)別并將值插入到列中 - IF(這是一個(gè)很大的 IF)總是有 4 個(gè)級(jí)別:#Auto-script on WORKORDERh = mbo.getString("HIERARCHYPATH")mbo.setValue("WOEQ1", (h.split(' \\ '))[0][:10])mbo.setValue("WOEQ2", (h.split(' \\ '))[1][:10])mbo.setValue("WOEQ3", (h.split(' \\ '))[2][:10])mbo.setValue("WOEQ4", (h.split(' \\ '))[3][:10])但當(dāng)然,我不會(huì)總是有 4 個(gè)級(jí)別。我可以有 1-4 之間任意數(shù)量的級(jí)別。如何解析反斜杠分隔的層次結(jié)構(gòu)路徑(具有不同的級(jí)別數(shù))?
查看完整描述

2 回答

?
精慕HU

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

您可以讓“正常”拆分來劃分行


>>> s = """\

... FACILITIES \ PARK

... ROADS \ GRASS/TURF BLVD MAINTENANCE

... ROADS \ SIDEWALKS \ REPLACEMENT

... FACILITIES \ PARKING - MAIN ST

... RECREATION \ BANDSHELL \ PROPERTY \ BUILDING-GENERAL

... FACILITIES \ FIREHALL \ PLUMBING

... FACILITIES

... """

>>> for row in s.splitlines():

...    print(row.split(" \\ "))

...

['FACILITIES', 'PARK']

['ROADS', 'GRASS/TURF BLVD MAINTENANCE']

['ROADS', 'SIDEWALKS', 'REPLACEMENT']

['FACILITIES', 'PARKING - MAIN ST']

['RECREATION', 'BANDSHELL', 'PROPERTY', 'BUILDING-GENERAL']

['FACILITIES', 'FIREHALL', 'PLUMBING']

['FACILITIES']

然后您可以迭代返回的列表,設(shè)置每個(gè)值


max_col_length = 10  # to be updated by author

for row in s.splitlines():

    for index, atom in enumerate(row.split(" \\ "), 1):  # count from 1

        mbo = "create a new row"  # not shown by author

        mbo.setValue("WOEQ{}".format(index), atom[:max_col_length])

    "INSERT row if processing rows individually"

"INSERT all rows if able to upload them all at the same time"

如果您需要始終在列表中提供至少 4 個(gè)(或 N 個(gè))成員,您可以使用itertools.repeat填寫剩余值


>>> import itertools

>>> mylist = ['RECREATION', 'BANDSHELL', 'PROPERTY']

>>> mylist.extend(list(itertools.repeat(None, 4 - len(mylist))))

>>> print(mylist)

['RECREATION', 'BANDSHELL', 'PROPERTY', None]


查看完整回答
反對 回復(fù) 2023-12-26
?
守著一只汪

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

這是我最終使用的腳本(它是 @ti7 答案的變體)。


在新的層次結(jié)構(gòu)路徑少于四個(gè)級(jí)別的情況下,腳本會(huì)將現(xiàn)有值清空。


parts = s.split(r' \ ')

for i, part in enumerate(parts, 1):

    mbo.setValue(col_prefix + str(i), part)

for i in range(len(parts)+1, 5):

    mbo.setValueNull(col_prefix + str(i))


查看完整回答
反對 回復(fù) 2023-12-26
  • 2 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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