前提・実現したいこと
csvファイルやexcelファイルと同じく、stataのdtaファイルをpython上で読み込みたい。
dtaファイルがバージョンが古いものなので、pandasで読み込むことに苦戦している。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-8-cfc129fd7a02> in <module>() 1 import pandas as pd 2 ----> 3 df = pd.read_stata("egroupsrepdata.dta") ~\Anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs) 175 else: 176 kwargs[new_arg_name] = new_arg_value --> 177 return func(*args, **kwargs) 178 return wrapper 179 return _deprecate_kwarg ~\Anaconda3\lib\site-packages\pandas\io\stata.py in read_stata(filepath_or_buffer, convert_dates, convert_categoricals, encoding, index_col, convert_missing, preserve_dtypes, columns, order_categoricals, chunksize, iterator) 183 columns=columns, 184 order_categoricals=order_categoricals, --> 185 chunksize=chunksize, encoding=encoding) 186 187 if iterator or chunksize: ~\Anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs) 175 else: 176 kwargs[new_arg_name] = new_arg_value --> 177 return func(*args, **kwargs) 178 return wrapper 179 return _deprecate_kwarg ~\Anaconda3\lib\site-packages\pandas\io\stata.py in __init__(self, path_or_buf, convert_dates, convert_categoricals, index_col, convert_missing, preserve_dtypes, columns, order_categoricals, encoding, chunksize) 1013 self.path_or_buf = BytesIO(contents) 1014 -> 1015 self._read_header() 1016 self._setup_dtype() 1017 ~\Anaconda3\lib\site-packages\pandas\io\stata.py in _read_header(self) 1036 self._read_new_header(first_char) 1037 else: -> 1038 self._read_old_header(first_char) 1039 1040 self.has_string_data = len([x for x in self.typlist ~\Anaconda3\lib\site-packages\pandas\io\stata.py in _read_old_header(self, first_char) 1235 self.format_version = struct.unpack('b', first_char)[0] 1236 if self.format_version not in [104, 105, 108, 111, 113, 114, 115]: -> 1237 raise ValueError(_version_error) 1238 self.byteorder = struct.unpack('b', self.path_or_buf.read(1))[ 1239 0] == 0x1 and '>' or '<' ValueError: Version of given Stata file is not 104, 105, 108, 111 (Stata 7SE), 113 (Stata 8/9), 114 (Stata 10/11), 115 (Stata 12), 117 (Stata 13), or 118 (Stata 14)
該当のソースコード
Python
1df = pd.read_stata("egroupsrepdata.dta")
試したこと
dtaファイルのバージョンが古いためにできない、ということだと理解したので古いファイルをpythonで読めるように調べている。
補足情報(FW/ツールのバージョンなど)
Python3.7を使っています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/02 05:29