如何用Python从文本文件提取指定信息并构建字典?
提取指定文本信息并整理为字典的实现方案
输入文本示例
Ticker : Ticker representing the company | Company: Name | Title: Position of trader | Trade Type: Buy or sell | Value: Monetary value Ticker : AKUS | Company: Akouos, Inc. | Title: 10% | Trade Type: P - Purchase | Value: +$374,908,350 Ticker : HHC | Company: Howard Hughes Corp | Title: Dir, 10% | Trade Type: P - Purchase | Value: +$109,214,243
当然可以实现,以下是具体的Python实现方案:
核心思路
- 跳过第一行的表头说明,从第二行开始处理数据行
- 用
|分割每行的字段,再将每个字段拆分为键值对 - 提取目标字段(Ticker、Title、Value),整理为字典结构
代码实现
# 模拟读取文件内容(实际场景可替换为:with open('your_file.txt', 'r') as f: lines = f.readlines()) text_lines = [ "Ticker : Ticker representing the company | Company: Name | Title: Position of trader | Trade Type: Buy or sell | Value: Monetary value", "Ticker : AKUS | Company: Akouos, Inc. | Title: 10% | Trade Type: P - Purchase | Value: +$374,908,350", "Ticker : HHC | Company: Howard Hughes Corp | Title: Dir, 10% | Trade Type: P - Purchase | Value: +$109,214,243" ] result = [] # 遍历数据行(跳过第一行表头) for line in text_lines[1:]: # 分割字段并清理首尾空格 fields = [field.strip() for field in line.split('|')] field_dict = {} # 转换为键值对字典 for field in fields: key, value = field.split(': ', 1) # 按第一个': '分割,避免值中含冒号导致错误 field_dict[key] = value.strip() # 提取目标信息 target_info = { 'ticker': field_dict['Ticker'], 'position': field_dict['Title'], 'amount': field_dict['Value'] } result.append(target_info) # 输出结果 for item in result: print(item)
运行输出
{'ticker': 'AKUS', 'position': '10%', 'amount': '+$374,908,350'} {'ticker': 'HHC', 'position': 'Dir, 10%', 'amount': '+$109,214,243'}
可选:将金额转换为数值类型
如果需要把金额转为可计算的数值,可以添加以下处理函数:
def clean_amount(amount_str): # 移除$和逗号,转换为浮点型 cleaned = amount_str.replace('$', '').replace(',', '') return float(cleaned) # 修改目标信息提取部分 target_info = { 'ticker': field_dict['Ticker'], 'position': field_dict['Title'], 'amount': clean_amount(field_dict['Value']) }
处理后金额会变为374908350.0和109214243.0,方便后续计算。
内容的提问来源于stack exchange,提问作者Gamer
相关产品推荐
相关产品推荐

