2016-05-23 2 views
13

私はcsvファイルをPython(スパイダー)に読み込もうとしていますが、エラーが続きます。次のように私のコードでは、なります(unicode error) 'unicodeescape'コーデックは2-3の位置のバイトをデコードできません:切り詰められた UXXXXXXXXエスケープ

import csv 

data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener") 
data = csv.reader(data) 
print(data) 

を、私は次のエラーを取得する:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

私は、\またはで\を交換しようとしている/して、私は「前にRを入れて試してみましたC ..しかし、これらすべてのものは動作しませんでした。私はそれがありますので、事前

+0

このヘルプん:http://stackoverflow.com/questions/904041/reading-a-utf8-csv-file-with-python –

+3

はどのようにあなたの代替ソリューションが動作しませんでしたか?生の文字列か、 '\\'の代わりに '/'の文字列を使うと、うまく動作すると思います。 – Blckknght

+0

ダブルバックスラッシュを使用すると、開いているファイルが存在しないというメッセージが表示されます。 – Miesje

答えて

6

のおかげでは、あなたの文字列の最初のバックスラッシュは、実際には、特殊文字として解釈されます。..誰かが私がしなければならないものを私に伝えることを願ってUnicodeコードポイントの先頭に解釈される「U」が続きます。

これを修正するには、文字列のバックスラッシュをエスケープする必要があります。私は特にPythonのを知らないが、私はあなたがバックスラッシュを2倍にすることにより、それを行うと思いたい:知りたい人のために

data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener") 
+0

ダブルバックスラッシュを使用すると、開いているファイルが存在しないというメッセージが表示されます。それが今で文字列が有効な – Miesje

+0

。だから、次の問題は、ファイルパスが存在しないこと、です。あなたは、例えば、 'vektis_agb_zorgverlener.txt'をファイルの拡張子を省略することがありますか?Windowsエクスプローラでは、ファイル拡張子はデフォルトでは表示されません。あなたはそれを修正することができます(http://windows.microsoft.com/en-gb/windows/show-hide-file-name-extensions)。 – thomasrutter

+0

右であると考える手段として有望な音 – bobince

0

を、私は問題を解決しませんでしたが、私はそれを回避する方法を発見した:DIファイルを手動で開くだけです

2

の前に置くことができます。実際のパスは生の文字列です。例:

0

double \はWindowsでは機能するはずですが、あなたのパスで言及しているフォルダを処理する必要があります。それらのすべて(ファイル名を除く)が存在する必要があります。そうしないと、エラーが発生します。

14

このエラーは、通常の文字列をパスとして使用しているために発生します。問題を解決するには、次のいずれかの方法を使用します。

pandas.read_csv(r"C:\Users\DeePak\Desktop\myac.csv")

2:

pandas.read_csv("C:/Users/DeePak/Desktop/myac.csv") 

3:

pandas.read_csv("C:\\Users\\DeePak\\Desktop\\myac.csv") 

  1. はちょうどそれは、生の文字列に、通常の文字列を変換し、あなたの通常の文字列の前にrを置きます
1

rを前に置くだけでうまくいきます。

例:

white = pd.read_csv(r"C:\Users\hydro\a.csv") 
関連する問題