Запретить преобразование типов данных при работе с Excel с помощью xlwingsPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запретить преобразование типов данных при работе с Excel с помощью xlwings

Сообщение Anonymous »

Проблема в том, как указано в заголовке. У меня есть столбец AX, заполненный значениями. Название столбца — «Примечания», и он будет содержать примечания, но некоторые из этих примечаний являются датами, а некоторые — полноценными заметками, например «Лицо А должно лицу Б X сумму».
Проблема В настоящее время я столкнулся с тем, что в xlwings столбцы, которые представляют собой просто даты, такие как «08.01.24», преобразуются в тип данных даты. Я не хочу, чтобы это преобразование произошло. Я хочу, чтобы он оставался буквально «1/8/24» и оставался типом данных «Текст».
Полный рабочий процесс выглядит следующим образом:
  • Читать данные из Excel (у меня нет доступа на запись)
  • Создать новую книгу Excel
  • Поместить обработал данные в новую книгу Excel
Поэтому я попытался исправить это в двух местах
  • < li>После того, как я прочитал данные, я преобразовал все значения столбцов AX в строку с помощью str(cell.value) среди других опций, ни один из которых не работал.
  • До новая книга Excel сохранена.
Ничего в варианте 1 не помогло, и я решил, что это как-то связано с тем, как Excel обрабатывает даты. Итак, теперь я пытаюсь предотвратить преобразование и просто буквально вижу «08.01.24», но ничего не работает. Я проверил документацию и попробовал Range.options, чтобы предотвратить преобразование, но это мало помогло. Когда я проверял ячейку с «08.01.24», она отображалась как объект datetime.datetime. Преобразование этого с помощью str в любом случае просто превращает его обратно в дату. Итак, я решил, что мне нужно найти способ выполнить преобразование после того, как оно было записано в книгу.
Я возился с типами данных в Excel и обнаружил, что если я буду использовать это
Изображение
Нажали далее
Изображение

Затем выберите «Текст», и на последнем экране появятся даты. Итак, это побудило меня попробовать новый вариант, который заключается в преобразовании типа данных всего столбца просто в «Текст». Итак, я попробовал такие вещи, как этот лист.range("AX1").expand("down").api.NumberFormat = "@". Но созданная книга по-прежнему не отображает буквально «08.01.24». Вместо этого отображается какое-то число, например 45299. Удивительно, но когда я преобразовал эту ячейку в «Длинную дату», она превратилась в дату «1 августа 2024 года». На этом я прекратил работу, так как у меня закончились идеи и я понятия не имею, как продолжать. Любые рекомендации очень ценны, спасибо.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Xlwings не записывает данные в файл.xlsm при работе через Excel
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Xlwings Преобразование ячейки в тип данных Excel (например, акции, валюты)
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Xlwings Преобразование ячейки в тип данных Excel (например, акции, валюты)
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Интегрирование Python (с Xlwings) в Excel для европейской цены опциона - обработка вызовов API и Excel UDFS
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как запретить xlwings отключать другие надстройки (SQL Spreads)
    Гость » » в форуме Python
    0 Ответы
    77 Просмотры
    Последнее сообщение Гость

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