Сервер xlwings RPC снова недоступен?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сервер xlwings RPC снова недоступен?

Сообщение Anonymous »

Я наблюдаю странное поведение Xlwings. Получение (-2147023174, «Сервер RPC недоступен.», Нет, Нет).
Система представляет собой (настольную) Windows 11, Python 3.12.2, Pandas 2.2.1, Xlwings 0.31.1
Скрипт отлично работает на 3 из 4 наборов файлов. Все файлы в основном
a_master.xlsx
a_1.xlsx
a_2.xlsx
.
.
a_n. xlsx
Скрипт открывает a_master, а затем проходит через a_1.xlsx через a_n.xlsx.
Макрос Xlwings ищет элементы в a_master и обновляет определенные столбцы фрейма данных или добавляет новую строку , в зависимости от поиска.
Итак, основная логика Python/xlwings

Код: Выделить всё

import xlwings as xw

shtname = 'a sheet name'

app = xw.app(visible=visibleflag)

master_wb = xw.Book('a_master.xlsx', update_links=False)

if not master_wb.sheets.active.name == shtname:     # make sure it's correct sheet
master_wb.sheets[shtname].activeate()

nrows, m_hdrs, nsheets = gethdrs('a_master.xlsx', shtname)
update_master = master_wb.app.macro('macroname')

for file in os.listdir('.'):
if file.endswith(".xlsx") and file.find("~$") < 0:
if file != 'a_master.xlsx':
nrows, f_hdrs, nsheets = gethdrs(file, shtname) # uses openpyxl

# do something to verfify headers are the same...
filewb = xw.Book(file, read_only=True, update_links=False, ignore_read_only_recommended=True)
if not filewb.sheets.active.name == shtname: # make sure it's the correct sheet
filewb.sheets[shtname].activate()
update_master('a_master.xml', file, startCol, rowcnt, debug) # call the macro
try:
filewb.close()       # doesn't want to work...it will throw an exception.
except:
pass

master_wb.save()
master_wb.close()
app.quit()

При вызове master_wb.save() только для 1 из 4 наборов файлов теряется соединение RPC.

Когда у меня есть видимость = True, я вижу он «пытается» сохранить master_wb, а затем почти сразу же перестает отвечать.

Откроется диалоговое окно «сохранения» с шестнадцатеричным именем файла для сохранения файла.

Я не могу «изменить» строку ABCDE0123 обратно на a_master.xlsx — нарушение общего доступа.

Если я просто выберу «Сохранить», выдается ошибка RPC, и файл ABCDE0123 закрывается, а затем снова открывается.

Также выдается следующая ошибка:

Код: Выделить всё

pywintypes.com_error: (-2147023170, 'The remote procedure call failed.', None, None)
Последняя ошибка:

Код: Выделить всё

pywintypes.com_error: (-2147023174, 'The RPC server is unavailable.', None, None)
Размеры a_master могут составлять от 100 до 1000 строк, a_1, a_2, a_3... все «меньше» (подмножество) a_master.

Неисправный набор файлов в общей сложности примерно средний из 4 наборов.

Он МОЖЕТ работать (3 из 4 наборов работают каждый раз) Кажется, 1 комплект работает есть проблема... но с совершенно новыми и свежими данными (они запускаются в пятницу с последними данными с сайта SP) даже первый набор запустился!
Но сегодня пытаюсь заново -запустите его... он терпит неудачу, как и раньше
Я пробовал разные вещи, чтобы понять это...

[*]Excel Inquire не обнаруживает проблем ни с одним входным файлом.
[*]Я обновил и понизил версию Xlwings.
[*]У меня был другой человек без проблем запускает те же сценарии на своем компьютере с Win 10.
[*]Я построил компьютер с Win10, и он работает с поврежденным файлом.

Есть идеи, что мне попробовать?

Подробнее здесь: https://stackoverflow.com/questions/784 ... ikes-again
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»