我正在写一个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