Windows+Pythonでunicode errorが出た

結論 

  • パス区切り文字が間違っていた
  • バックスラッシュ2つ\\もしくはLinux環境の/だとOK
  • バックスラッシュ1つ\はNG

実行環境

Windows10+PowerShell+jupyter notebook

目的

ローカルのcsvをpandasで読み込みたかった

試したこと

エラーが出たコードは

import pandas as pd
df=pd.read_csv("C:\Users\Python\data.csv",encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

文字列の中にエスケープが単体で出てくるのがダメらしい。 下のコードだとうまくいく。

import pandas as pd
df=pd.read_csv("C:\\Users\\Python\\data.csv",encoding="utf-8")
df=pd.read_csv("C:/Users/Python/data.csv",encoding="utf-8")

分かったこと

  • エクスプローラーから「パスのコピー」でコピーされるバックスラッシュ1つ区切りのパスはNG
  • バックスラッシュ2つ区切りのパスならOK
  • スラッシュ区切りのパス(Linux環境と同じ)でもOK

ということらしい。