(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
Эта ошибка возникает из-за того, что вы используете обычную строку в качестве пути. Вы можете использовать одно из следующих решений, чтобы исправить вашу проблему.
- Просто поставьте
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, но вам все равно нужно позаботиться о папках, которые вы укажете в своем пути. Все они (кроме имени файла) должны существовать. в противном случае вы получите сообщение об ошибке.