Можно ли сохранить ссылку XML на файл Excel при его редактировании с помощью Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли сохранить ссылку XML на файл Excel при его редактировании с помощью Python?

Сообщение Anonymous »

У меня есть файл xlsx из пакета конфигурации моего бизнес-центра с заданной таблицей, в которую мне нужно загрузить большой объем данных из базы данных. После редактирования файла с помощью openpyxl он всегда «теряет» ссылку на XML, и я не могу загрузить его обратно в BC. Мне всегда приходится делать дополнительный шаг, чтобы открыть файл вручную, скопировать данные и вставить их в исходный файл, чтобы сохранить ссылку на XML.
Есть ли у кого-нибудь решение, как сохранить Ссылка на XML или добавить ее после редактирования файла xlsx?
Мой код:

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

    def write_data_to_excel(self, df: pd.DataFrame, file_path: str = None):
print(self.boolean_columns)
file_path = self._check_path(file_path)
wb = xl.load_workbook(file_path)
ws = wb.active
new_row_count = 0
for row_index, row in df.iterrows():
for column_index in range(len(df.columns)):
current_row = self.start_row + hash(row_index)
current_column = self.start_column + column_index
value = row[df.columns[column_index]]
try:
if current_column in self.boolean_columns:
value = settings.TRUE_VALUE if value == 1 else settings.FALSE_VALUE
ws.cell(current_row, current_column, value)
except IllegalCharacterError as e:
print(f"IllegalCharactorError1:{e} (row: {current_row}, column: {current_column})")
value = self._replace_illegal_characters(value)
except ValueError:
value = settings.FALSE_VALUE if current_column in self.boolean_columns else ""
ws.cell(current_row, current_column, value)
{current_column})")
new_row_count = self.start_row + hash(row_index)

for table in ws.tables.values():
table.ref = f"A3:CY{new_row_count}"
wb.save(file_path)
Файл Excel со схемой, которая теряется после редактирования с помощью openpyxl.
Файл XLSX с правильной схемой
Попытка загрузить xlsx, заполнить его данными и снова загрузить в Business Central

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

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

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

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

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

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

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