Я пытаюсь прочитать файл .csv в Python (Spyder), но все время получаю сообщение об ошибке. Мой код:

import csv

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

Получаю следующую ошибку:

SyntaxError: (ошибка Unicode) кодек unicodeescape не может декодировать байты в позиции 2-3: усеченный \ UXXXXXXXX escape

Я попытался заменить \ на \ или на /, и я попытался поставить r перед "C .., но все это не сработало.

Miesje

Ответы (10)

Первая обратная косая черта в вашей строке интерпретируется как специальный символ, фактически потому, что за ней следует буква «U», она интерпретируется как начало кодовой точки Unicode.

Чтобы исправить это, вам нужно убрать обратную косую черту в строке. Я не знаю конкретно Python, но думаю, вы сделаете это, удвоив обратную косую черту:

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

Вы можете просто поставить r перед строкой с вашим фактическим путем, который обозначает необработанную строку. Например:

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

Двойной \ должен работать в Windows, но вам все равно нужно позаботиться о папках, которые вы указываете в своем пути. Все они (кроме имени файла) должны существовать. иначе вы получите ошибку.

This error occurs because you are using a normal string as a path. You can use one of the three following solutions to fix your problem:

1: Just put r before your normal string it converts normal string to raw string:

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

Хорошо работает просто r.

например:

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

считать это необработанной строкой. Просто ответ: добавьте r перед своим путем к Windows.

импорт csv
data = open (r "C: \ Users \ miche \ Documents \ school \ jaar2 \ MIK \ 2.6 \ vektis_agb_zorgverlener")
data = csv.reader (данные)
печать (данные)

поместите r перед вашей строкой, он преобразует обычную строку в необработанную строку

у меня это сработало, нейтрализуя '\' с помощью f = open ('F: \\ file.csv')

Попробуйте записать путь к файлу как "C: \\ Users \ miche \ Documents \ school \ jaar2 \ MIK \ 2.6 \ vektis_agb_zorgverlener" т.е. с двойной обратной косой чертой после диска вместо " C: \ Users \ miche \ Documents \ school \ jaar2 \ MIK \ 2.6 \ vektis_agb_zorgverlener "

Согласно Строковые литералы:

Строковые литералы могут быть заключены в одинарные кавычки (т.е. '...') или двойные кавычки (например, "..."). Они также могут быть заключены в совпадающие группы из трех одинарных или двойных кавычек (обычно они называются строками в тройных кавычках).

Символ обратной косой черты (например, \) используется для экранирования символов, которые в противном случае будут иметь особое значение, например, новую строку, обратную косую черту или символ кавычки. Строковые литералы могут иметь префикс r или R. Такие строки называются необработанными строками и используют разные правила для escape-последовательностей с обратной косой чертой.

В строках с тройными кавычками, неэкранированные символы новой строки и кавычки разрешены, за исключением того, что три неэкранированных кавычки в строке завершаются строка.

Если не присутствует префикс r или R, escape-последовательности в строках интерпретируются в соответствии с правилами, аналогичными тем, которые используются в Стандарте C.

Так что в идеале нужно заменить строку:

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

На любой из следующих символов:

  • Использование префикса raw и одинарных кавычек (т.е. '...'):

     data = open (r'C: \ Users \ miche \ Documents \ school \ jaar2 \ MIK \ 2.6 \ vektis_agb_zorgverlener ')
    
  • Использование двойных кавычек (например, "...") и экранирования символа обратной косой черты (например, \):

     data = open ("C: \\ Users \\ miche \\ Documents \\ school \\ jaar2 \\ MIK \\ 2.6 \ vektis_agb_zorgverlener")
    
  • Использование двойных кавычек (например, "...") и символа косой черты (например, /):

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

2022 WebDevInsider