前提・実現したいこと
Excelファイルを読み込むコードを書いたのですが、VScodeのプロンプトで実行できません。
下記のコードを実行した時、パソコンのAnacondaプロンプトで行った場合は、実行できるのですが、VScodeのプロンプトで行った場合はエラーが出力されます。
異なるプロンプトで実行したとき、同じ結果が得られないのは、なぜでしょうか?
VScodeでデバックを行いたいのですが、どうやったら解決できるでしょうか?
Python初学者なので、詳しく教えていただきたいです。
パソコンのAnacondaプロンプトで行った場合ーーーーーーーーーーーーーー
(base) PS C:\Users\ユーザー名\git> python test.py
開始
完了
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
file.xlsxの中身
都道府県 | 職業 | No |
---|---|---|
沖縄 | 会社員 | 1 |
北海道 | 会社員 | 1 |
東京 | 公務員 | 4 |
VScodeのプロンプトに以下のエラーメッセージが発生しました。↓
発生している問題・エラーメッセージ
C:\Users\ユーザー名\git>python test.py
開始
Traceback (most recent call last):
File "C:\Users\ユーザー名\git\test.py", line 27, in <module>
main()
File "C:\Users\ユーザー名\git\test.py", line 22, in main
df_result = read_file_str(file1)
File "C:\Users\ユーザー名\git\test.py", line 8, in read_file_str
df = pd.read_csv(file).astype(str)
File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 610, in read_csv
return _read(filepath_or_buffer, kwds)
File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 468, in _read
return parser.read(nrows)
File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 1057, in read
index, columns, col_dict = self._engine.read(nrows)
File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 2061, in read
data = self._reader.read(nrows)
File "pandas_libs\parsers.pyx", line 756, in pandas._libs.parsers.TextReader.read
File "pandas_libs\parsers.pyx", line 771, in pandas._libs.parsers.TextReader._read_low_memory
File "pandas_libs\parsers.pyx", line 827, in pandas._libs.parsers.TextReader._read_rows
File "pandas_libs\parsers.pyx", line 814, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas_libs\parsers.pyx", line 1951, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 8, saw 3
### 該当のソースコード Pythonコード import pandas as pd from glob import glob def read_file_str(file): try: df = pd.read_csv(file).astype(str) except UnicodeError: df = pd.read_excel(file).astype(str) return df import sys from pathlib import Path def main(): file1 = r"C:\Users\ユーザー名\git\file.xlsx" sys.path.append(str(Path(__file__).absolute().parent.parent)) df_result = read_file_str(file1) print('完了') if __name__ == '__main__': print("開始") main()
試したこと
下記のサイトを参考にして、カラム名を追加したら、エラーはなくなりました。
ただ、どうしたらVScodeのPromptがAnaconda promptと同じ動作になるのか教えてほしいです
https://nekoyukimmm.hatenablog.com/entry/2016/06/17/115408
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/08 14:18