【问题标题】:How do I write ASCII files from internet URL's directly into Stata?如何将互联网 URL 中的 ASCII 文件直接写入 Stata?
【发布时间】:2021-07-09 19:18:53
【问题描述】:

我正在尝试将一组文件(例如 https://www.fiscal.treasury.gov/files/reports-statements/mts/mts1103.txt)写入 Stata。

因为我想从源网站 (https://www.fiscal.treasury.gov/reports-statements/mts/previous.html) 获得几个月和几年的时间,我希望我可以使用 for 循环将每个 URL 直接写入 Stata,然后像我已经完成的那样将它们清除/附加在一起之前很多次。 (不想全部单独下载)。

Something like this:
foreach yr in 04 05 06 07 08 09 {
    foreach month in 01 02 03 04 05 06 07 08 09 10 11 12 {
        insheet using "https://www.fiscal.treasury.gov/files/reports-statements/mts/mts`month'03.txt", clear
    }
}

这样的事情可能吗?我需要做什么才能使用 ASCII 文件进行这项工作?

【问题讨论】:

  • 年份不会出现在您的循环中。
  • 只要 Stata 会读取这些文件,这些命令就可以工作。它们需要大手术才能用作数据集。

标签: ascii stata


【解决方案1】:

代码应该可以工作(请注意尼克考克斯对当地年份的评论)。我个人建议您先将文件复制到本地驱动器,因为您不能相信这些文件将永远可用。

您可以使用 Stata 的复制命令来做到这一点。

这还有一个额外的好处,就是您可以拆分下载和解析部分 - 可能 insheet 无法处理一个文件的特定格式并导致问题。一般来说,模块化代码几乎总是一个好主意。

不要忘记在循环中包含一个保存命令,否则你所有的努力都将付诸东流(去过那里)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多