Распакуйте файл .xls в python

Это то, что я сделал для обновления значения столбца Priority на 1, если он = = 1 в таблице и в его предложении WHERE, используя подзапрос в той же таблице, чтобы удостовериться, что хотя бы одна строка содержит Priority = 1 (потому что это условие, которое нужно проверить при выполнении обновления):


UPDATE My_Table
SET Priority=Priority + 1
WHERE Priority >= 1
AND (SELECT TRUE FROM (SELECT * FROM My_Table WHERE Priority=1 LIMIT 1) as t);

Я знаю, что это немного уродливо, но все работает отлично.

1
задан Frank Schweizer 16 January 2019 в 09:39
поделиться

1 ответ

.xls файлы используют формат BIFF. Файлы .xlsx используют Office Open XML, который является форматом zip XML. BIFF - это не заархивированный формат; файлы, использующие этот формат, не распознаются библиотеками zip. - shmee

преобразование в .xlsx является решением

import win32com.client as win32
fname = "full+path+to+xls_file"
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)

wb.SaveAs(fname+"x", FileFormat = 51)    #FileFormat = 51 is for .xlsx extension
wb.Close()                               #FileFormat = 56 is for .xls extension
excel.Application.Quit()
0
ответ дан Frank Schweizer 16 January 2019 в 09:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: