結構化檔案儲存

2021-09-02 08:20:22 字數 3284 閱讀 5538

json

正規表示式(regularexpression,re)

re練習

xpath

根元素(乙個檔案內只有乙個根元素)

子元素屬性內容

注釋

#可以

#不可以,注釋在標籤內

#可以,注釋內容可以有乙個短橫線

#不可以,雙短橫線只能出現在開頭或結尾

#可以,三短橫線只能出現在開頭

#不可以,三短橫線只能出現在開頭

yingyu

232018

1-23-1

yingyu

232018

1-23-1

yingyu

232018

1-23-1

domminidom

etree

import xml.etree.elementtree

root = xml.etree.elementtree.parse("student.xml")

print("利用getiterator訪問:")

nodes = root.getiterator()

for node in nodes:

print("--".format(node.tag,note.text))

print("利用find和findall方法:")

ele_teacher = root.find("teacher")

print("--".format(ele_teacher.tag,ele_teacher.text))

ele_stus = root.findall("teacher")

for ele in ele_stus:

print("--".format(ele.tag,ele.text))

for sub in ele.getiterator():

if sub.tag == "name":

if "other" in sub.attrib.keys():

print(sub.attrib['other'])

xml檔案寫入

import xml.etree.elementtree as et

tree = et.parse(r'to_edit.xml')

root = tree.getroot()

for e in root.iter('name'):

print(e.text)

for stu in root.iter('student'):

name = stu.find('name')

if name != none:

name.set('test',name.text * 2)

stu = root.find('student')

#生成乙個新的元素

e = et.element('adder')

e.attrib =

e.text = '我新增的'

#一定要把修改好的內容寫回檔案,否則無效

tree.write('to_edit.xml')

生成建立

import xml.etree.elementtree as et

stu = et.element("student")

name = et.subelement( stu,'name')

name.attrib =

name.text = 'tiantiandouxihuanni'

age = et.subelement(stu,'age')

age.text = 18

et.dump(stu)

student=

json和python格式的對應

python for json

python讀取json檔案

import json

# 此時student是乙個dict格式內容,不是json

student =

print(type(student))

stu_json = json.dumps(student)

print(type(stu_json))

print("json物件:".format(stu_json))

stu_dict = json.loads(stu_json)

print(type(stu_dict))

ptint(stu_dict)

json文件的讀取也跟python一樣

import json

data =

with open("t.json",'w') as f:

json.dump(data,f)

with open("t.json",'r') as f:

d = json.load(f)

print(d)

驗證乙個數字:^\d$

必須有乙個數字,最少一位:^\d+$

只能出現數字,且位數為5-10位:^\d$

註冊者輸入年齡,要求16歲以上,99歲以下:^[16-99]$

只能輸入英文本元和數字:^[a-za-z0-9]$

驗證qq號碼:[0-9]

chrome外掛程式:xpath helper

firefox外掛程式:xpath checker

- /school/student[1]:選取school下面的第乙個student節點

- /school/student[last()]:選取school下面的最後乙個student節點

- /school/student[last()-1]:選取school下面的倒數第二個student節點

- /school/student[position()<3]:選取school下面的前兩個student節點

- //student[@score]:選取帶有屬性score的student節點

- //student[@score="99"]:選取帶有屬性score並且屬性值是99的student節點

- //student[@score]/age:選取帶有屬性score的student節點的子節點age

結構化 半結構化和非結構化資料

在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...

結構化 半結構化和非結構化資料

在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis。mangodb rdbms關聯式資料庫 oracle,mysql等 另一些其他的資料庫如hbase,在這些資料庫中。又會出現結構化資料。非結構化資料。半結構化資料,以下列出各種資料型別 結構化資料 可...

結構化 半結構化和非結構化問題

結構化程度 是指對某一決策問題的決策過程 決策環境和規律,能否用明確的語言 數學的或邏輯學的 形式的或非形式的 定量的或定性的 給予說明或描述清晰程度或準確程度。按照決策問題的結構化程度不同把決策問題分成結構化問題 半結構化問題和非結構化問題三種型別。1 結構化決策問題 結構化決策問題相對比較簡單 ...