Синтаксическая ошибка pandas-read_excel

1

Я пытаюсь прочитать некоторые данные со второго листа таблицы Excel. пропуская первые 18 строк и только столбцы C до F. Это то, что я пробовал

import pandas as pd

new_file=pd.read_excel("C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5]) 

когда я запускаю это, я получаю следующую ошибку

runfile('C:/Users/denis/Documents/Dissertation/Code/test.py', wdir='C:/Users/denis/Documents/Dissertation/Code')
  File "C:/Users/denis/Documents/Dissertation/Code/test.py", line 9
    new_file=pd.read_excel("C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5])
                          ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

кто-нибудь знает, что может быть причиной этого?

Теги:
pandas

2 ответа

2

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

new_file=pd.read_excel(r"C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5]))

или же

new_file=pd.read_excel("C:\\Users\\denis\\Documents\\Dissertation\\Raw Data\\CO\\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5]))
1

Взгляните на этот вопрос: "Unicode Error" unicodeescape "кодек не может декодировать байты... Не удается открыть текстовые файлы в Python 3

Я предлагаю не передавать str в качестве первого аргумента, а вместо этого позволить pathlib.Path обрабатывать это для вас. Кроме того, в документах указано имя sheetname а parse_cols устарели, а skiprows - в виде списка.

from pathlib import Path
import pandas as pd

p = Path('C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls')
df = pd.read_excel(
    p, 
    sheet_name=1, 
    skiprows=list(range(18)), # skip first 18 rows (0-indexed)
    parse_cols=list(range(2, 6)) # only parse columns 2 (C) to 5 (F)
)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню