【问题标题】:Working with the SEC Edgar Logfile database // ZIP file extraction and storing of large databases使用 SEC Edgar Logfile 数据库 // 大型数据库的 ZIP 文件提取和存储
【发布时间】: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. 有谁知道更快、更省内存的下载方式 数据库?
  2. 有谁知道如何保存 结果,以便可以使用整个数据库?

【问题讨论】:

    标签: python stored-procedures bigdata zipfile


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多