2015-06-03 2 views
1

У меня проблема с импортом из Excel. Имя файла что-то вроде:Импорт Excel - ошибка, вызванная filepath/filename

file_location = "R:\Projects\2-current\2015-06-02 data.xlsm" 
book = xlrd.open_workbook(file_location) 
sheet = book.sheet_by_index(1) 

Когда я бегу он показывает следующее сообщение об ошибке:

OSError: [Errno 22] Invalid argument: "R:\Projects\x02 - current\x815-06-02 data.xlsm"

Так что, кажется, проблема с числами, как первый символ файла/пути (когда я переименуйте файл и поместить его прямо в «R», все работает отлично).

Что я могу сделать?

ответ

2

Попробуйте file_location = "R:\\Projects\\2-current\\2015-06-02 data.xlsm" или file_location = r"R:\Projects\2-current\2015-06-02 data.xlsm"

Проблема заключается в том, что пути на окна требуют «\», то есть специальный символ в питона. Вы можете решить аналогичные проблемы, используя "...\\..." или r"...\...".

И наконец, импортируя модуль os, вы можете использовать file_location = os.path.normpath("R:/Projects/2-current/2015-06-02 data.xlsm"), используя косую черту вместо обратной.

+0

Спасибо, что работает для меня! – derh

+0

Отлично! Теперь вы можете продвигать и подписывать решение, которое вы решили решить. –

+0

Вам даже не нужно 'normpath()'. Файловая система Windows вызывает поддержку/вместо \. Это просто командная оболочка, которая нуждается в \, потому что параметры начинаются с /. – BlackJack

Смежные вопросы