1

有谁知道用于解析/读取 .net 中的 Stata 文件的开源库?它是一种表格数据格式。

如果没有人看到可以重用的东西,我计划编写一个基于 IDataReader 的阅读器。

4

2 回答 2

2

经过详尽的搜索,我找不到用于读取 Stata 文件的库。我确实最终为 Stata 版本 5 到 12 编写了一个 IDataReader 实现。我会看看我是否可以将它发布到 github。

给其他人的一个注意事项:IDataReader 没有获取 Stata 使用的类型化 sbyte (int 8) 的方法,因此如果在使用 IDataReader 接口实现读取器时需要该值,可以通过 GetInt16 返回它。

    // On the actual StataDataReader
    public sbyte GetSByte(int i) {}

    // This is the smallest int available on IDataReader
    // It will call GetSByte internally if that is the column type
    public short GetInt16(int i){}

我还添加了一个深入的 GetMissingValue,因为 Stata 可以有许多缺失值代码。IsDBNull 不支持任何上下文信息。

    public IMissingValue GetMissingValue(int i) {}
于 2012-07-12T20:44:52.210 回答
1

我不知道 C# 库。但是,Stata 的 .dta 格式已记录在案。你也可以看看R的外国包。在包的源代码中,您会找到一个名为“stataread.c”的文件,它可能与您的问题相关。

于 2012-06-11T13:02:41.367 回答