disp_cols_str = "\t".join(disp_cols) print(disp_cols_str)
のような記述を含む python script を以下のようにredirect付きで実行すると windowsはcp932な環境の為、エラーとなる場合があるみたい。
PS C:\Users\end0tknr\tmp\JIKO> ..\python38\python.exe .\aggregate_4.py .\JIKO_SRC_2021 > foo.txt Traceback (most recent call last): File ".\aggregate_4.py", line 214, in <module> main() File ".\aggregate_4.py", line 30, in main aggregate_xlsx(xlsx_path,"") File ".\aggregate_4.py", line 100, in aggregate_xlsx print(disp_cols_str) UnicodeEncodeError: 'cp932' codec can't encode character '\ufffd' in position 63: illegal multibyte sequence
なので、以下のように .encode('cp932',"ignore") を追加し、回避。
disp_cols_str = "\t".join(disp_cols) disp_cols_str = disp_cols_str.encode('cp932',"ignore") disp_cols_str = disp_cols_str.decode('cp932') print(disp_cols_str)