有没有人知道用于解析/读取.net中的Stata文件的开源库?这是一种表格数据格式。
如果没有人看到可以重复使用的内容,我打算写一个基于IDataReader的阅读器。
答案 0 :(得分: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) {}
答案 1 :(得分:1)
我不知道C#库。但是,Stata的.dta格式为documented。您还可以查看R foreign package。在包的源代码中,您将找到一个名为“stataread.c”的文件,该文件可能与您的问题相关。