我有从文本文件中提取数字的简单代码。它看起来像这样:
import re
codata = []
with open(r"filename.txt") as file:
for line in file:
for i in re.findall(r'\d+(?:\.\d+)?', line):
codata.append(i)
文本包含很多财务数据和很多我不想要的日期。有没有一种简单的方法可以修改代码以排除日期?日期通常遵循这些格式(我使用特定日期作为格式示例,但它可以是任何日期):
August 31, 2018
8/31/2018
8/31/18
August 2018
FY2018
CY2018
fiscal year 2018
calendar year 2018
这是一个例子。我有一个包含以下文本的文本文件:
“就本节所述的财务分析而言,“隐含的合并对价”一词是指交易中规定的每股对价的隐含价值 80.38 美元,包括 20.25 美元的对价现金部分和隐含价值根据 XXX 2018 年 7 月 14 日每股 218.67 美元的收盘价计算的 0.275 股 XXX 普通股的股票部分。”
当我运行我上面发布的代码时,我从print(codata)以下位置得到这个输出:
['80.38', '20.25', '0.275', '218.67', '14', '2018']
我想得到这个输出:
['80.38', '20.25', '0.275', '218.67']
所以我不想拿起与 date 相关的数字 14 和 2018 "July 14, 2018"。如果我知道文本中与日期相关的任何数字都具有我上面概述的格式,我应该如何修改我的代码以获得所需的输出?
holdtom
动漫人物
相关分类