我在和埃德加的10公里一起工作。为了帮助进行文件管理和数据分析,我想创建一个表,其中包含每个文件的路径、公司文件的CIK编号(这是SEC发布的唯一ID)以及它所属的SIC行业代码。下面是一个形象地表示我想做什么。
我要提取的两个内容列在每个文档的顶部。CIK始终是在短语“中央索引键:”后面列出的数字。SIC始终是“标准行业分类”后括号内的数字,然后是该特定行业的描述。
这在所有文件中都是一致的。
待办事项:
循环文件:提取文件路径、CIK和SIC编号——注意,每个文档只有一个返回,每个结果都是有序的,所以字段之间的记录是对齐的。
将这些字段合并在一起——我猜最好的方法是将每个字段提取到各自独立的列表中,然后合并,也许合并到Pandas数据框中?
最终,我将使用这个表来帮助我在SIC行业之间对数据进行子集。
谢谢你看一眼。请让我知道,如果我可以提供额外的文件。
最佳答案
下面是我为做类似的事情而写的一些代码。您可以将结果输出到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