如何用Python的for loop从财报电话会议TXT文件提取年份与公司名
提取指定年份与公司名的解决方案
要精准提取财报标题行中的年份和公司名,无需全局匹配所有4位数字,只需针对Q3 2003 ABM Industries Earnings Conference Call这类标题行做定向匹配即可。
修正后的代码
import re file_path = r"C:\sam\2003-Sep-10-ABM.N-140985434256-Transcript.txt" with open(file_path, 'r') as f: content = f.read() # 匹配标题行中的年份和公司名,适配"Q[季度] 年份 公司名 Earnings Conference Call"格式 match = re.search(r"Q\d (\d{4}) (.+?) Earnings Conference Call", content) if match: target_year = match.group(1) company_name = match.group(2) print(target_year) print(company_name)
代码说明
- 用
with语句读取文件,自动处理资源释放,避免遗漏关闭操作 - 正则表达式逻辑:
Q\d匹配季度标识(如Q3)(\d{4})精准捕获标题行里的4位年份,作为第一个提取分组(.+?)非贪婪匹配公司名称(直到遇到"Earnings Conference Call"截止),作为第二个提取分组
- 匹配成功后直接输出目标年份和公司名,结果即为需求的
2003和ABM Industries
内容的提问来源于stack exchange,提问作者Janz
相关产品推荐
相关产品推荐

