2015-12-02 2 views
0

Я начал смотреть на xlwings для моего excel-манипуляции, поскольку мощность и скорость python сильно отличаются от VBA для того, что я надеюсь сделать. (или так я сказал)Открытие ExcelFiles Только для чтения с Xlwings

Чтение некоторых документов xlwings Я не мог понять, есть ли способ открыть файл excel как доступный только для чтения. Иногда я хочу открыть файл и открыть его другим приложением или пользователем, поэтому я не могу получить доступ к файлу, потому что он пытается открыть как чтение-запись.

Есть ли способ с xlwings или другой библиотекой python, что я могу открыть файл в режиме только для чтения, прочитать информацию из определенных диапазонов, а затем закрыть файл?

+0

Я открыл запрос на функцию: https://github.com/ZoomerAnalytics/xlwings/issues/318 –

+0

@FelixZumstein Спасибо. Я не был уверен, что это то, чего я не видел. – JohnFayt

ответ

1

Как сделать копию файла, прочитав эту копию, а затем удалив эту копию после? Кроме того, если вы используете openpyxl, вам не нужно «открывать» файл, так как вы читаете метаданные xml excel.

import openpyxl as xl 
workbook = xl.load_workbook('path/to/file.xls') 
worksheet = workbook.get_sheet_by_name('worksheetname') 
cell = worksheet.cell('A1') 

Все это должно работать без фактического открытия файла.

+0

Спасибо за это предложение. Поскольку это не «открытие» файла, значит ли это, что скрипт должен работать быстрее? Например, я сейчас перебираю сотни файлов. В VBA это занимает 15 минут, потому что фактически открывает экземпляр файла excel. – JohnFayt

+0

Да - рекомендую использовать openpyxl в этом экземпляре. это не требует, чтобы операционная система разворачивала экземпляр excel каждый раз (что занимает много времени). XLWings и VBA обычно используются для «удаленного управления» экземпляром excel, но я бы использовал его для чтения и записи для Excel-файлов без необходимости использования функции «удаленного контроля». –

+0

Спасибо за помощь. У меня есть следующий вопрос, но я знаю, что это немного не подходит для этого. Вы знаете, как я могу запустить замороженный экземпляр скрипта openpyxl? Кажется, py2exe не работает с ним. – JohnFayt

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