(unicode-fout) ‘unicodeescape’-codec kan bytes op positie 2-3 niet decoderen: afgekapte \UXXXXXXXX escape

Ik probeer een .csv-bestand in Python (Spyder) te lezen, maar ik krijg steeds een foutmelding. Mijn code:

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

Ik krijg de volgende foutmelding:

SyntaxError: (unicode-fout) ‘unicodeescape’-codec kan bytes niet decoderen
in positie 2-3: afgekapte \UXXXXXXXX escape

Ik heb geprobeerd de \ te vervangen door \ of door / en ik heb geprobeerd een r voor “C..te zetten, maar al deze dingen werkten niet.


Antwoord 1, autoriteit 100%

Deze fout treedt op omdat u een normale tekenreeks als pad gebruikt. U kunt een van de drie volgende oplossingen gebruiken om uw probleem op te lossen:

1: Zet gewoon rvoor je normale tekenreeks, het zet de normale tekenreeks om in onbewerkte tekenreeks:

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")

Antwoord 2, autoriteit 13%

De eerste backslash in je string wordt geïnterpreteerd als een speciaal teken, in feite omdat het wordt gevolgd door een “U”, wordt het geïnterpreteerd als het begin van een unicode-codepunt.

Om dit op te lossen, moet je de backslashes in de tekenreeks escapen. Ik ken Python niet specifiek, maar ik denk dat je het doet door de backslashes te verdubbelen:

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

3, Autoriteit 7%

Overweeg het als een onbewerkte reeks. Gewoon eenvoudig antwoord, voeg rvóór uw Windows-pad toe.

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

4, Autoriteit 3%

Probeer het bestandspad te schrijven als "C:\\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"ie met dubbele backslash na de drive in tegenstelling tot "C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"


5, Autoriteit 2%

Zoals per string literalen :

Stringliteralen kunnen worden ingesloten binnen Single-aanhalingstekens (dwz '...') of Dubbele offertes (dwz "..."). Ze kunnen ook worden ingesloten in bijpassende groepen van drie enkelvoudige of dubbele aanhalingstekens (deze worden meestal aangeduid als triple-geciteerde snaren).

Het backslash-teken (d.w.z. \) wordt gebruikt om tekens te escapen die anders een speciale betekenis zouden hebben, zoals newline, backslash zelf of het aanhalingsteken. Letterlijke tekenreeksen kunnen optioneel worden voorafgegaan door een letter rof r. Dergelijke tekenreeksen worden onbewerkte tekenreeksengenoemd en gebruiken verschillende regels voor backslash-escapereeksen.

In tekenreeksen met drie aanhalingstekenszijn niet-getrapte nieuwe regelsen aanhalingstekenstoegestaan, behalve dat de drie aanhalingstekens zonder escapetekensbeëindig in een rij de string.

Tenzij een voorvoegsel rof raanwezig is, worden escape-reeksen in strings geïnterpreteerd volgens regels die vergelijkbaar zijn met die van Standard C.

Dus idealiter moet je de regel vervangen:

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

Aan een van de volgende tekens:

  • Gebruik onbewerkteprefix en enkele aanhalingstekens(d.w.z. '...'):

     data = open(r'C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener')
    
  • Gebruik dubbele aanhalingstekens(bijv. "...") en escapetekens voor backslash (bijv. \):

     data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
    
  • Gebruik dubbele aanhalingstekens(d.w.z. "...") en forwardslash-tekens (d.w.z. /):

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

Antwoord 6, autoriteit 2%

zet rvoor je tekenreeks, het converteert normale tekenreeks naar onbewerkte tekenreeks


Antwoord 7

Gewoon een r ervoor zetten werkt goed.

bijvoorbeeld:

 white = pd.read_csv(r"C:\Users\hydro\a.csv")

Antwoord 8

het werkte voor mij door de ‘\’ te neutraliseren door f = open(‘F:\\file.csv’)


Antwoord 9

De dubbele \ zou moeten werken voor Windows, maar je moet nog steeds zorgen voor de mappen die je in je pad vermeldt. Ze moeten allemaal (behalve de bestandsnaam) bestaan. anders krijg je een foutmelding.

Other episodes