簡體   English   中英

python csv 讀者刪除uuid中的特殊字符

[英]python csv reader delete special character in uuid

得到一個大的 csv 文件

fab47e7c-05df-4315-b23f-de2cfc8b180f,Lindie,Lilybelle,Lindie.Lilybelle@yopmail.coma
959d21f-e131-473c-ae44-cfea24dbaf3f,Vere,Ax,Vere.Ax@yopmail.com
dd20bea2-f3a8-4283-82e2-501efb846fa8,Lacie,Byrne,Lacie.Byrne@yopmail.com

和一些輸入錯誤的 uuid,例如

#@3b751941-dca2-4224-b453-d81c53cc4c6e%$,Ivett,Urias,Ivett.Urias@yopmail.com

我試圖替換 uuid 中的那些符號,但並不真正理解如何正確地做。

我的代碼就像

def read_csv(path, string):
    with open(path, 'r') as data:
        reader = csv.DictReader(data)
        for row in reader:
            string.match(row['id'])

其中字符串是 uuid 的正則表達式

string = re.compile('[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$', re.I)

你的正則表達式是錯誤的,它正在尋找后面沒有任何字符的正則表達式,因為末尾有“$”符號。 用這個:

[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}

你可以在這里測試它: https://regex101.com/r/TJXCaR/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM