使用 SEC Edgar Logfile 数据库 // 大型数据库的 ZIP 文件提取和存储

Posted

技术标签:

【中文标题】使用 SEC Edgar Logfile 数据库 // 大型数据库的 ZIP 文件提取和存储【英文标题】:Working with the SEC Edgar Logfile database // ZIP file extraction and storing of large databases 【发布时间】:2021-09-10 08:00:57 【问题描述】:

使用 SEC Edgar Lofgile 数据库时,我面临着一些挑战。 (https://www.sec.gov/dera/data/edgar-log-file-data-set.html)

我的工作是一步一步下载数据,然后将各种 IP 地址分配给公司。通过结合使用 WRDS、ARIN Bulk Whois 数据库和字符串匹配,我能够将公司与 IP 地址进行匹配。

各个数据集存储在一个 zip 文件中。目前我使用如下代码解压文件,速度慢,占用内存大:

import pandas as pd
import requests
import zipfile
from io import BytesIO

#last day of the database
html = 'http://www.sec.gov/dera/data/Public-EDGAR-log-file-data/2017/Qtr2/log20170630.zip'

def get_df(html):
    #open zipfile via requests/BytesIO/ZipFile
    r_zip = requests.get(html)
    zip_file = zipfile.ZipFile(BytesIO(r_zip.content))
    files = zip_file.namelist()
    #read zip as DataFrame
    with zip_file.open(files[0]) as log:
        data = pd.read_csv(log)

提取后,我分析记录(groupby 公司等)并将结果保存在 csv 文件中。但是,我的分析结果仍然很大,以至于很难下载整个 SEC Edgar 日志文件的数据库。

    有谁知道更快、更省内存的下载方式 数据库? 有谁知道如何保存 结果,以便可以使用整个数据库?

【问题讨论】:

【参考方案1】:

提取每个csv文件后,将数据上传到SQL中,然后删除csv文件。

【讨论】:

答案很简短,这更像是一个提示,而不是一个正确和完整的答案 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于使用 SEC Edgar Logfile 数据库 // 大型数据库的 ZIP 文件提取和存储的主要内容,如果未能解决你的问题,请参考以下文章

EDGAR .txt 文件的 HTML 呈现

SEC EDGAR 13F 源 HTTPError:HTTP 错误 403:禁止

从不同的 HTML 表中提取数据

活动类 yodgobekkomilov.edgar.com.githubapi/yodgobekkomilov.edgar.com.githubapi.SearchActivity 不存在

使用rvest在页面中提取多个表

从 HTML、CSS 和 JavaScript 中获取干净的字符串