pandasがpandas.errors.EmptyDataErrorを含むファイルを読み取るときのPandasエラーメッセージ:ファイルから解析する列がありません
Pandas Error Message When Pandas Reads File With Pandas
1.発生した問題:
.csvを読み取るためのソースコードは次のとおりです。
import pandas as pd def main(): aqi_data = pd.read_csv('china_city_aqi.csv') print(aqi_data.head(5)) if __name__ == '__main__': main()
完全なエラーメッセージは次のとおりです。
Traceback (most recent call last): File 'D:/XXX/Python learning/lect09/AQI_9.0.py', line 14, in main() File 'D:/XXX/Python learning/lect09/AQI_9.0.py', line 10, in main aqi_data = pd.read_csv('china_city_aqi.csv') File 'D:XXXPythonlearninglect09venv
ewlibsite-packagespandasioparsers.py', line 702, in parser_f return _read(filepath_or_buffer, kwds) File 'D:XXXPythonlearninglect09venv
ewlibsite-packagespandasioparsers.py', line 429, in _read parser = TextFileReader(filepath_or_buffer, **kwds) File 'D:XXXPythonlearninglect09venv
ewlibsite-packagespandasioparsers.py', line 895, in __init__ self._make_engine(self.engine) File 'D:XXXPythonlearninglect09venv
ewlibsite-packagespandasioparsers.py', line 1122, in _make_engine self._engine = CParserWrapper(self.f, **self.options) File 'D:XXXPythonlearninglect09venv
ewlibsite-packagespandasioparsers.py', line 1853, in __init__ self._reader = parsers.TextReader(src, **kwds) File 'pandas\_libsparsers.pyx', line 545, in pandas._libs.parsers.TextReader.__cinit__ pandas.errors.EmptyDataError: No columns to parse from file
2.解決策
pandas.read_csvの公式ドキュメントを見てください。
エンジン :{‘c’、 ‘python’}、オプション(元のドキュメントは次のとおりです:)
Parser engine to use. The C engine is faster while the python engine is currently more feature-complete.
したがって、engine = 'python'をread_csv()パラメーターに追加します。
上記のコードは次のように変更されます。
import pandas as pd def main(): aqi_data = pd.read_csv('china_city_aqi.csv', engine='python') print(aqi_data.head(5)) if __name__ == '__main__': main()
変更後、操作は成功です!