gpt4 book ai didi

python - 从 10-K -- 提取 SIC、CIK,创建元数据表

转载 作者:行者123 更新时间:2023-11-28 19:08:35 30 4
gpt4 key购买 nike

我正在使用 Edgar 的 10-Ks。为了协助文件管理和数据分析,我想创建一个表,其中包含每个文件的路径、提交的公司的 CIK 编号(这是由 SEC 颁发的唯一 ID)以及它所属的 SIC 行业代码.下面是一张图像,直观地表示我想做的事情。

我要提取的两件事列在每个文档的顶部。 CIK # 始终是列在短语“CENTRAL INDEX KEY:”之后的数字。 SIC# 始终是“标准工业分类”后括号中的数字,然后是对该特定行业的描述。

这在所有文件中都是一致的。

待办事项:

  1. 遍历文件:提取文件路径、CIK 和 SIC 编号——注意每个文档我只得到一个返回值,并且每个结果都是按顺序排列的,所以我的字段之间的记录是对齐的。

  2. 将这些字段合并在一起——我猜最好的方法是将每个字段提取到它们自己单独的列表中,然后合并,也许合并到 Pandas 数据框中?

最终我将使用此表来帮助我对 SIC 行业之间的数据进行子集化。

感谢您的关注。如果我可以提供其他文档,请告诉我。

The two pieces of metadata I want to extract are at the top of each document. The CIK # will always be a number which is listed after the phrase "CENTRAL INDEX KEY:". The SIC # will always be a number enclosed in brackets after "STANDARD INDUSTRIAL CLASSIFICATION" and then a description of that particular industry.

最佳答案

以下是我刚刚为执行类似操作而编写的一些代码。您可以将结果输出到 CSV 文件。作为第一步,您需要遍历文件夹并获取所有 10-K 的列表并对其进行迭代。

    year_end = ""
sic = ""

with open(txtfile, 'r', encoding='utf-8', errors='replace') as rawfile:
for cnt, line in enumerate(rawfile):
#print(line)
if "CONFORMED PERIOD OF REPORT" in line:
year_end = line[-9:-1]
#print(year_end)
if "STANDARD INDUSTRIAL CLASSIFICATION" in line:
match = re.search(r"\d{4}", line)
if match:
sic = match.group(0)
#print(sic)
#print(sic)
if (year_end and sic) or cnt > 100:
#print(year_end, sic)
break

关于python - 从 10-K -- 提取 SIC、CIK,创建元数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43450621/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com