我正在寫一個python程序來解析txt文件中的一些用戶數據。 文本文件中的一行將包含用戶的高度。 我已經指定了一個爲了用戶有望跟隨像re.sub python收集高度
文件應包含名稱,下一行,出生日期, 3號線,高度等
的第一行我也賜給一個示例文件看起來像這樣
名用戶:姓名
出生日期:2000年4月16日
年齡:16
身高:5英尺9英寸
當我讀取文件時,我看着每一行,並使用':'作爲分隔符來分割它。
第一個字段是我的專欄名稱,例如name,dob,age,height。
在某些情況下,用戶忘記了 ':' 姓名或出生日期之後,或者他們會簡單地發送數據,如:
- 身高:5英尺9英寸
- 5英尺9寸
- 5英尺9在
- 5英尺9英寸
我已經決定要使用的邏輯是:
- 在每一行上尋找':';如果找到了,那麼我有我的領域。
- 否則,請嘗試找出可能的數據。
爲高度的邏輯是這樣的:
if any(heightword in file_line.upper() for heightword in ['FT', 'HEIGHT', 'FEET', 'INCH', 'CM'])
這if
條件將查找具有高度相關聯的話。
一旦我確定文件中的行包含高度,我希望能夠在將信息寫入數據庫之前將該信息轉換爲英寸。
請有人幫助我解決如何將以下數據轉換爲英寸。
- 身高:5英尺9英寸
- 5英尺9寸
- 5英尺9
- 5英尺9英寸
我知道,因爲我想,以滿足各種用戶輸入。這份清單並非詳盡無遺;我試圖用這些作爲例子來理解,然後我會繼續添加代碼,如果當我發現新的模式。
你可以捕捉數字** [像](https://regex101.com/r/aD9nV5/1)** – rock321987