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

Я пытаюсь прочитать файл 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 error) 'unicodeescape' кодек не может декодировать байты в позиции 2-3: усеченный \UXXXXXXXX escape

Я попытался заменить\с\или с помощью /, и я попытался поставить r перед "C.. но все эти вещи не сработали. Надеюсь, кто-то скажет мне, что я должен делать.. Спасибо продвижение

Ответ 1

Эта ошибка возникает из-за того, что вы используете обычную строку в качестве пути. Вы можете использовать одно из следующих решений, чтобы исправить вашу проблему.

  1. Просто поставьте r перед вашей обычной строкой, которая преобразует нормальную строку в необработанную строку:

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

Ответ 2

Первая обратная косая черта в вашей строке интерпретируется как особый символ, фактически потому, что после нее "U" интерпретируется как начало кодовой точки юникода.

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

Просто положить r впереди работает хорошо.

например:

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

Ответ 6

он работал для меня, нейтрализуя "\" на f = open ("F:\\file.csv")

Ответ 7

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

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

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

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

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

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

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

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

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

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

Ответ 8

Для людей, которые хотят знать, я не решил проблему, но я нашел способ обойти это: DI просто открыть файл вручную

Ответ 9

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