Разное

Как писать в экселе в столбик: Как писать в столбик в excel в одной ячейке

Содержание

Как заменить числа на буквы в названиях столбцов Microsoft Excel

Виктор Бухтеев

21K

Обсудить

По умолчанию столбцы в Microsoft Excel имеют буквенное обозначение, которое используется вместе со строками для обозначения ячеек в функциях и при разметке таблицы. Некоторым пользователям такой подход не нравится – они предпочли бы видеть цифры на всей панели координат. Об этом изменении и пойдет речь далее.

Кстати, вы можете использовать следующие инструкции и для обратной настройки, когда вдруг обнаружили, что вместо букв на верхней панели отображаются числа, а ячейки обозначить никак не удается. Обратите внимание на следующий скриншот, чтобы понять, о какой именно панели идет речь.

Выберите один из двух методов, отталкиваясь от того, какой будет удобнее именно для вас. Чаще всего используются настройки через графическое меню, а любителям макросов я предложу альтернативу во втором способе.

Способ 1: Настройка параметра «Стиль ссылок»

В настройках самой программы Excel есть необходимый параметр, позволяющий переключить стиль ссылок, то есть сделать так, чтобы со всех сторон отображались цифры, заменяя собой буквенный ряд. Для этого достаточно выполнить такие действия:

  1. Откройте любой лист и перейдите на вкладку «Файл».

  2. На панели слева щелкните по надписи «Параметры».

  3. Перейдите к разделу «Формулы» и активируйте галочку возле пункта «Стиль ссылок R1C1». Соответственно, если вам нужно убрать цифры сверху, галочку эту надо снять.

  4. По необходимости наведите курсор на значок с информацией рядом со строкой, чтобы получить более детальное описание от разработчиков.

  5. Перед выходом обязательно нажмите

    «ОК», применив тем самым изменения.

Предлагаю немного времени уделить разбору создания функций при использовании нового метода ссылок на ячейки. Заострять на этом внимание не буду, только поверхностно пробегусь по общим принципам.

  1. Теперь при создании функции вам нужно указать R для строки и задать номер клетки по счету.

  2. Далее укажем C и номер, обозначив столбец. После введения данных ячейка должна выделиться, что обозначает ее корректный выбор.

  3. При выделении кнопкой мыши написание немного отличается, но разбирать его не будем, поскольку самостоятельно так писать сложнее, а результат все равно будет один и тот же.

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Способ 2: Использование макроса

Простой макрос, состоящий всего из одной строки, точно так же меняет параметр формата ссылок, как это было показано выше, но вам не придется обращаться к параметрам Excel. Вместо этого осуществляются другие действия, которые кому-то покажутся сложнее, а для кого-то будут отличным методом.

  1. Если вкладка «Разработчик» у вас еще не активирована, перейдите в «Параметры».

  2. Выберите раздел «Настроить ленту» и отметьте галочкой соответствующий пункт, после чего примените изменения.

  3. Перейдите на ту самую вкладку и щелкните ЛКМ по «Visual Basic».

  4. Используйте сочетание клавиш Ctrl + G для вызова окна редактора.

  5. Вставьте туда строку Application.ReferenceStyle=xlA1, если хотите вернуть буквы вместо цифр на верхней панели.

  6. Для замены букв на цифры используйте другую строку: Application.ReferenceStyle=xlr1c1.

  7. Обязательно нажмите Enter для применения изменений, после чего вернитесь к таблице и проверьте, как сейчас отображается система координат.

Эти два простых метода позволят настроить координаты так, как нужно именно вам, или же вернут исходное состояние программы, чтобы вы не путались в номерах ячеек при создании таблиц.

Личный опыт

Наши постоянные авторы и читатели делятся лайфхаками, основанными на личном опыте. Полная свобода самовыражения.

Рекомендуем

Создание ссылки на ячейку или столбец в формуле

При создании формул можно использовать значения из других ячеек или столбцов таблицы. Это можно сделать с помощью ссылок на ячейки и столбцы. Можно создавать ссылки на отдельные ячейки и их диапазоны или на целые столбцы.

Также можно ссылаться на данные из других таблиц. Подробную информацию о ссылках на данные из других таблиц можно найти в статье Формулы: ссылки на данные из других таблиц.

Краткая информация о типах ссылок в формулах

Ниже приведена памятка по созданию собственных формул.

Элемент, на который нужно сослатьсяТребуемый форматПример
Отдельная ячейкаНазвание столбца, номер строки=Бюджет1
Название столбца содержит пробел или заканчивается на число Заключите имя столбца в квадратные скобки.=[Столбец A]1
=DAY([Q1]1)
Абсолютная ссылка (всегда ссылается на указанную ячейку, строку или столбец)Введите символ «$» перед названием столбца, номером строки или обоими.=$[Столбец A]$1
=[Столбец B]$1
=$[Столбец C]1
Несколько несвязанных ячеекСсылки на ячейки должны быть разделены запятыми.=SUM(Бюджет1, Затраты4, [Прогноз прибыли]20)
Диапазон ячеек в одном столбцеВведите первую и последнюю ячейки диапазона через двоеточие «:».=SUM(Бюджет1:Бюджет12)
Столбец целиком (вместе со всеми добавляемыми ячейками)Название столбца через двоеточие «:».=SUM(Бюджет:Бюджет)
Диапазон ячеек в нескольких столбцахВведите ссылку на правую верхнюю и левую нижнюю ячейки через двоеточие «:».=SUM(Январь1:Март5)
Отдельная ячейка, диапазон ячеек или столбцы целиком из другой таблицыВведите название созданной ссылки в другой таблице в фигурных скобках.=COUNT({my_sheet1 Диапазон1})

Более подробное описание типов ссылок

Ссылка на отдельную ячейку

При создании формулы вы можете выбрать ячейку, на которую хотите сослаться, и работать с данными этой ячейки в своей формуле. (Вы также можете вручную ввести название столбца и номер строки, чтобы сослаться на ячейку.)

Например, формула в столбце «Балансовая стоимость» в следующей таблице управления запасами умножит значение из строки 1 столбца «Цена» на значение строки 1 столбца «Запасы»:

Формула вернет значение 2 994,00 р., т. е. общую стоимость:

Ссылка на название столбца, содержащего пробелы или заканчивающегося на цифру

Если название столбца содержит пробелы, специальные знаки или цифры, вы должны заключить их в квадратные скобки во избежание неопределенности:

=[Годовой бюджет]1 + [Годовой бюджет]2

=[Q1]1 + [Q2]1

=[Риск/Проблема]5 + [Вероятность/Смягчение]5

Создание абсолютной ссылки

В некоторых ситуациях, например при ссылке на таблицу функцией VLOOKUP, бывает необходимо запретить Smartsheet автоматически обновлять ссылки на ячейки при перемещении или копировании этой формулы. Для этого нужно создать абсолютную ссылку на ячейки. (Подробная информация о функции VLOOKUP приведена в статье Ссылка функцией.)

Чтобы создать абсолютную ссылку, поставьте символ $ (доллар) перед названием столбца или номером строки в ссылке на ячейку в своей формуле. Например, если вы переместите или скопируете следующую формулу, то названия столбцов и номера строк в ссылках на ячейки не изменятся:

=$[Столбец A]$1 * $[Столбец B]$1

Следующая формула содержит абсолютные ссылки только на номера строк. Если вы переместите или скопируете ее, ссылки на столбцы изменятся с учетом нового расположения формулы:

=[Столбец A]$1 * [Столбец B]$1

В следующей формуле сохранятся абсолютные ссылки на столбцы. Если вы переместите или скопируете ее, номера строк изменятся с учетом нового расположения формулы:

=$[Столбец A]1 * $[Столбец B]1

Ссылка на диапазон ячеек в одном столбце

Для создания ссылки на диапазон ячеек поставьте знак : (двоеточие) между ссылками на выбранные ячейки.

Например, формула в нижней части столбца «Балансовая стоимость» в следующей таблице управления запасами сложит значения строк с 1-й по 6-ю в данном столбце:

Эта формула вернет значение «40763,75 р.», то есть итоговую балансовую стоимость:

Ссылка на столбец целиком

Можно создавать ссылки на столбец целиком, включая его все заполненные ячейки. Например, следующая формула суммирует все значения столбца «Годовой бюджет» и будет меняться по мере добавления или удаления новых строк в этом столбце:

=SUM([Годовой бюджет]:[Годовой бюджет])

ПРИМЕЧАНИЕ. Если формула введена в ячейку столбца, на который она ссылается, она не будет учитывать ту ячейку, в которую она содержится. Например, если вы введете формулу из примера выше в таблицу под названием «Годовой бюджет», формула SUM просуммирует значения всех ячеек за исключением той ячейки, в которую введена эта формула.

Ссылка на диапазон ячеек из нескольких столбцов

Чтобы сослаться на диапазон значений ячеек из строки, пересекающей несколько столбцов, задайте ссылки на первый и последний столбец в строке.

Например, формула в столбце «Общий запас» в следующей таблице управления запасами просуммирует значения строки 1 из столбцов «Запасы A», «Запасы B» и «Запасы C»:

 

Формула вернет значение «998», т. е. сумму запасов из трёх ячеек:

Изменение столбцов, строк и ячеек

Урок 6. Изменение столбцов, строк и ячеек

/en/excel/cell-basics/content/

Введение

По умолчанию каждая строка и столбец новой книги установите одинаковую высоту и ширину . Excel позволяет изменять ширину столбца и высоту строки различными способами, в том числе перенос текста и объединение ячеек .

Дополнительно: загрузите нашу рабочую тетрадь.

Посмотрите видео ниже, чтобы узнать больше об изменении столбцов, строк и ячеек.

Чтобы изменить ширину столбца:

В приведенном ниже примере столбец C слишком узок, чтобы отобразить все содержимое этих ячеек. Мы можем сделать все это содержимое видимым, изменив ширину столбца C.

  1. Наведите указатель мыши на строку столбца в заголовке столбца , чтобы курсор превратился в двойную стрелку .
  2. Щелкните и перетащите мышь на увеличение или уменьшение ширины столбца.
  3. Отпустите кнопку мыши. Ширина столбца будет изменена.

С числовыми данными в ячейке будет отображаться знаков фунта стерлингов (#######), если столбец слишком узкий. Просто увеличьте ширину столбца , чтобы сделать данные видимыми.

К ширине столбца AutoFit:

Функция AutoFit позволит вам установить ширину столбца в соответствии с его содержимым автоматически .

  1. Наведите указатель мыши на строку столбца в заголовке столбца так, чтобы курсор принял форму двойной стрелки .
  2. Дважды щелкните мышью. Ширина столбца будет изменена автоматически, чтобы соответствовать содержимому.

Вы также можете автоматически подобрать ширину для нескольких столбцов одновременно. Просто выберите столбцы, для которых требуется автоподбор, затем выберите Ширина столбца автоподбора 9.0010 из раскрывающегося меню Format на вкладке Home . Этот метод также можно использовать для высоты строки .

Чтобы изменить высоту строки:
  1. Поместите курсор на строку строки так, чтобы курсор превратился в двойную стрелку .
  2. Щелкните и перетащите мышь на увеличение или уменьшение высоты строки.
  3. Отпустите кнопку мыши. Высота выбранной строки будет изменена.
Чтобы изменить все строки или столбцы:

Вместо изменения размеров строк и столбцов по отдельности вы можете изменить высоту и ширину каждой строки и столбца одновременно. Этот метод позволяет вам установить единый размер для каждой строки и столбца на вашем листе. В нашем примере мы установим единую высоту строки .

  1. Найдите и нажмите кнопку Select All чуть ниже поля имени , чтобы выбрать каждую ячейку на листе.
  2. Наведите указатель мыши на строку строки так, чтобы курсор принял форму двойной стрелки .
  3. Щелкните и перетащите мышь на увеличить или уменьшить высоту строки, затем отпустите кнопку мыши, когда вы будете удовлетворены. Высота строки будет изменена для всего рабочего листа.

Вставка, удаление, перемещение и скрытие

После того, как вы некоторое время поработаете с рабочей книгой, вам может понадобиться вставить новую столбцы или строки, удалить определенные строки или столбцы, переместить их в другое место на листе или даже скрыть их.

Чтобы вставить строки:
  1. Выберите строку с заголовком ниже, где вы хотите, чтобы появилась новая строка. В этом примере мы хотим вставить строку между строками 4 и 5, поэтому мы выберем строку 5 .
  2. Щелкните команду Вставить на вкладке Главная .
  3. Новая строка появится над выбранной строкой.

При вставке новых строк, столбцов или ячеек вы увидите значок кисти рядом с вставленными ячейками. Эта кнопка позволяет вам выбрать, как Excel форматирует эти ячейки. По умолчанию Excel форматирует вставленные строки с тем же форматированием, что и ячейки в строке выше. Чтобы получить доступ к дополнительным параметрам, наведите указатель мыши на значок, затем щелкните стрелку раскрывающегося списка .

Для вставки столбцов:
  1. Выберите столбец с заголовком справа от того места, где должен появиться новый столбец. Например, если вы хотите вставить столбец между столбцами D и E, выберите столбец E .
  2. Щелкните команду Вставить на вкладке Главная .
  3. Новый столбец появится слева от выбранного столбца.

При вставке строк и столбцов убедитесь, что выбрана вся строка или столбец, щелкнув значок рубрика . Если вы выберете только ячейку в строке или столбце, команда Вставить вставит только новую ячейку.

Чтобы удалить строку или столбец:

Удалить строку или столбец, которые вам больше не нужны, очень просто. В нашем примере мы удалим строку, но вы можете удалить столбец таким же образом.

  1. Выберите строку , которую вы хотите удалить. В нашем примере мы выберем строку 9 .
  2. Щелкните команду Удалить на Главная вкладка.
  3. выбранный ряд будет удален, а окружающие сместятся . В нашем примере ряд 10 переместился вверх, так что теперь это ряд 9 .

Важно понимать разницу между удалением строки или столбца и простой очисткой его содержимого . Если вы хотите удалить содержимое из строки или столбца, не вызывая смещения других, щелкните правой кнопкой мыши заголовок , затем выберите Очистить содержимое в раскрывающемся меню.

Чтобы переместить строку или столбец:

Иногда может потребоваться переместить столбец или строку, чтобы переупорядочить содержимое рабочего листа. В нашем примере мы переместим столбец, но вы можете переместить строку таким же образом.

  1. Выберите нужный заголовок столбца для столбца, который вы хотите переместить.
  2. Нажмите на вырез на вкладке Home или нажмите Ctrl+X на клавиатуре.
  3. Выберите столбец с заголовком справа от того места, куда вы хотите переместить столбец. Например, если вы хотите переместить столбец между столбцами E и F, выберите столбец F .
  4. Щелкните команду Insert на вкладке Home , затем выберите Insert Cut Cells в раскрывающемся меню.
  5. Столбец будет перемещен в выбранное место, и столбцы вокруг него сместятся.

Вы также можете получить доступ к командам Вырезать и Вставить , щелкнув правой кнопкой мыши и выбрав нужные команды из раскрывающегося меню.

Чтобы скрыть и отобразить строку или столбец:

Иногда вам может понадобиться сравнить определенные строки или столбцы без изменения организации рабочего листа. Для этого Excel позволяет скрыть строк и столбцов по мере необходимости. В нашем примере мы скроем несколько столбцов, но вы можете скрыть строки таким же образом.

  1. Выберите столбцы , которые вы хотите скрыть , щелкните правой кнопкой мыши, затем выберите Скрыть в меню форматирования . В нашем примере мы скроем столбцы C, D и E.
  2. Столбцы будут скрыты . Строка зеленого столбца указывает расположение скрытых столбцов.
  3. до показать столбцы, выбрать столбцы с обеих сторон скрытых столбцов. В нашем примере мы выберем столбцы B и F . Затем щелкните правой кнопкой мыши и выберите Показать в меню форматирование .
  4. Скрытые столбцы появятся снова.

Перенос текста и объединение ячеек

Всякий раз, когда у вас слишком много содержимого ячейки для отображения в одной ячейке, вы можете решить обтекание текста или объединить ячейку, а не изменить размер столбца. Перенос текста автоматически изменяет высоту строки ячейки , позволяя отображать содержимое ячейки на нескольких строках . Слияние позволяет объединить ячейку с соседними пустыми ячейками для создания одной большой ячейки .

Чтобы обтекать текст в ячейках:
  1. Выберите ячейки, которые вы хотите обтекать. В этом примере мы выберем ячейки в столбце C .
  2. Нажмите Команда переноса текста на вкладке Главная .
  3. Текст в выбранных ячейках будет обернут .

Щелкните команду Wrap Text еще раз, чтобы развернуть текст.

Чтобы объединить ячейки с помощью команды «Объединить и центрировать»:
  1. Выберите диапазон ячеек , которые вы хотите объединить. В нашем примере мы выберем A1:F1 .
  2. Щелкните команду Merge & Center на Главная вкладка. В нашем примере мы выберем диапазон ячеек A1:F1 .
  3. Выбранные ячейки будут объединены , а текст будет центрирован .
Чтобы получить доступ к дополнительным параметрам слияния:

Если щелкнуть стрелку раскрывающегося списка рядом с командой Объединить и центрировать на вкладке Главная , появится раскрывающееся меню Объединить .

Отсюда вы можете выбрать:

  • Merge & Center : объединяет выбранные ячейки в одну ячейку и центрирует текст.
  • Объединить через : объединяет выбранные ячейки в более крупных ячеек , сохраняя при этом каждую строку отдельно.
  • Объединить ячейки : объединяет выбранные ячейки в одну ячейку, но не центрирует текст.
  • Разъединить ячейки : Разъединяет выбранные ячейки.

Будьте осторожны при использовании этой функции. Если вы объедините несколько ячеек, содержащих данные, Excel сохранит только содержимое верхней левой ячейки и отбросит все остальное.

Центрирование по выбору

Объединение может быть полезно для организации ваших данных, но оно также может создать проблемы позже. Например, может быть сложно перемещать, копировать и вставлять содержимое из объединенных ячеек. Хорошей альтернативой слиянию является Center Across Selection , который создает аналогичный эффект без фактического объединения ячеек.

Посмотрите видео ниже, чтобы узнать, почему следует использовать выделение по центру вместо объединения ячеек.

Чтобы использовать выделение по центру:
  1. Выберите нужный диапазон ячеек. В нашем примере мы выберем A1:F1 . Примечание : Если вы уже объединили эти ячейки, вам следует разъединить их , прежде чем переходить к шагу 2.
  2. Щелкните маленькую стрелку в нижнем правом углу группы Выравнивание на главной странице вкладка
  3. Появится диалоговое окно. Найдите и выберите Horizontal 9В раскрывающемся меню 0010 выберите Center Across Selection , затем нажмите OK .
  4. Содержимое будет сосредоточено в выбранном диапазоне ячеек. Как видите, это создает тот же визуальный результат, что и слияние и центрирование, но сохраняет каждую ячейку в пределах A1:F1.

Вызов!

  1. Откройте нашу рабочую тетрадь.
  2. Автоподбор ширины столбца для всей книги.
  3. Изменить высоту строки для строк с 3 по 14 по 22,5 (30 пикселей) .
  4. Удалить строку 10.
  5. Вставить столбец слева от столбца C. Введите ВТОРИЧНЫЙ КОНТАКТ в ячейку C2 .
  6. Убедитесь, что ячейка C2 все еще выделена, и выберите Wrap Text .
  7. Объединить и центрировать ячеек A1:F1.
  8. Скрыть столбцы Billing Address и Phone .
  9. Когда вы закончите, ваша рабочая тетрадь должна выглядеть примерно так:
Продолжать

Предыдущий: Основные сведения о ячейке

Далее:Форматирование ячеек

/en/excel/formatting-cells/content/

Работа с данными и запись данных — документация XlsxWriter

В следующих разделах объясняется, как записывать различные типы данных в Excel рабочий лист с помощью XlsxWriter.

Запись данных в ячейку листа

Рабочий лист Метод write() является наиболее распространенным средством записи Данные Python в ячейки в зависимости от их типа:

 import xlsxwriter
рабочая книга = xlsxwriter.Workbook('write_data.xlsx')
рабочий лист = рабочая книга.add_worksheet()
worksheet.write(0, 0, 1234) # Записывает целое число
worksheet.write(1, 0, 1234.56) # Записывает число с плавающей запятой
worksheet.write(2, 0, 'Привет') # Записывает строку
worksheet.write(3, 0, None) # Не записывает
worksheet.write(4, 0, True) # Записывает логическое значение
книга. закрыть ()
 

Метод write() использует type() данных, чтобы определить, какие конкретный метод, используемый для записи данных. Затем эти методы отображают некоторые основные Типы Python в соответствующие типы Excel. Сопоставление выглядит следующим образом:

Тип Python Тип Excel Методы рабочего листа
инт Номер запись() , write_number()
длинный    
поплавок    
Десятичный
   
Дробь    
базовая струна Строка write() , write_string()
ул    
Юникод    
Нет Строка (пустая) запись() , запись_blank()
датавремя. дата Номер write() , write_datetime()
дата-время.дата-время    
дата-время.время    
дата-время.timedelta    
логический Булево значение write() , write_boolean()

Метод write() также обрабатывает несколько других типов Excel, которые закодировано как строки Python в XlsxWriter:

Псевдотип Тип Excel Методы рабочего листа
строка формулы Формула write() , write_formula()
строка URL URL-адрес write() , write_url()

Следует отметить, что Excel имеет очень ограниченный набор типов для сопоставления. Типы Python, которые write() метод может быть расширен как объяснено в разделе Запись пользовательских типов ниже.

Запись данных Unicode

Данные Unicode в Excel кодируются как UTF-8. XlsxWriter также поддерживает запись Данные UTF-8. Обычно для этого требуется, чтобы исходный файл был в кодировке UTF-8:

 worksheet.write('A1', 'Некоторый текст UTF-8')
 

Более полный пример см. в разделе Пример: Простой Unicode с Python 3.

Как вариант, можно прочитать данные из закодированного файла, преобразовать в UTF-8 во время чтения, а затем записать данные в файл Excel. Видеть Пример: Unicode — польский в UTF-8 и Пример: Unicode — Shift JIS.

Запись списков данных

Запись составных типов данных, таких как списки, с помощью XlsxWriter выполняется таким же образом это было бы в любой другой программе Python: с циклом. Питон Функция enumerate() также очень полезна в этом контексте:

 import xlsxwriter
рабочая книга = xlsxwriter. Workbook('write_list.xlsx')
рабочий лист = рабочая книга.add_worksheet()
мой_список = [1, 2, 3, 4, 5]
для row_num данные в перечислении (my_list):
    worksheet.write(row_num, 0, данные)
книга. закрыть ()
 

Или, если вы хотите написать это горизонтально в виде строки:

 import xlsxwriter
рабочая книга = xlsxwriter.Workbook('write_list.xlsx')
рабочий лист = рабочая книга.add_worksheet()
мой_список = [1, 2, 3, 4, 5]
для col_num данные в enumerate(my_list):
    worksheet.write(0, col_num, данные)
книга. закрыть ()
 

Для структуры списка списков вы должны использовать два уровня цикла:

 import xlsxwriter
рабочая книга = xlsxwriter.Workbook('write_list.xlsx')
рабочий лист = рабочая книга.add_worksheet()
мой_список = [[1, 1, 1, 1, 1],
           [2, 2, 2, 2, 1],
           [3, 3, 3, 3, 1],
           [4, 4, 4, 4, 1],
           [5, 5, 5, 5, 1]]
для row_num, row_data в перечислении (my_list):
    для col_num, col_data в перечислении (row_data):
        worksheet. write(row_num, col_num, col_data)
книга. закрыть ()
 

Класс рабочего листа имеет две служебные функции, называемые write_row() и write_column() , которые в основном представляют собой цикл вокруг метод write() :

 import xlsxwriter
рабочая книга = xlsxwriter.Workbook('write_list.xlsx')
рабочий лист = рабочая книга.add_worksheet()
мой_список = [1, 2, 3, 4, 5]
рабочий лист.write_row (0, 1, мой_список)
рабочий лист.write_column (1, 0, мой_список)
книга. закрыть ()
 

Запись словарей данных

В отличие от списков, нет единого простого способа записать словарь Python в Рабочий лист Excel с использованием Xlsxwriter. Метод будет зависеть от структуры данные в словаре. Вот простой пример для простых данных структура:

 импорт xlsxwriter
рабочая книга = xlsxwriter.Workbook('write_dict.xlsx')
рабочий лист = рабочая книга.add_worksheet()
my_dict = {'Боб': [10, 11, 12],
           «Энн»: [20, 21, 22],
           «Май»: [30, 31, 32]}
номер_столбца = 0
для ключа, значение в my_dict. items():
    worksheet.write(0, col_num, ключ)
    рабочий лист.write_column (1, col_num, значение)
    номер_столбца += 1
книга. закрыть ()
 

Запись фреймов данных

Лучший способ работы с фреймами данных или сложной структурой данных — использовать Питон Панды. Pandas — это анализ данных Python. библиотека. Он может читать, фильтровать и переупорядочивать небольшие и большие наборы данных и выводить их в различных форматах, включая Excel.

Чтобы использовать XlsxWriter с Pandas, вы указываете его как модуль записи Excel :

 импортирует pandas как pd
# Создать кадр данных Pandas из данных.
df = pd.DataFrame({'Данные': [10, 20, 30, 20, 15, 30, 45]})
# Создайте модуль записи Excel Pandas, используя XlsxWriter в качестве движка.
писатель = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
# Преобразование фрейма данных в объект Excel XlsxWriter.
df.to_excel (писатель, имя_листа = 'Лист1')
# Закройте средство записи Pandas Excel и выведите файл Excel. 
писатель.close()
 

Результат будет выглядеть следующим образом:

Дополнительные сведения об использовании Pandas с XlsxWriter см. в разделе Работа с Python Pandas и XlsxWriter.

Запись пользовательских типов

Как показано в первом разделе выше, рабочий лист метод write() сопоставляет основные типы данных Python с типами данных Excel. Если вы хотите написать неподдерживаемый тип, то вы можете либо избежать write() , либо сопоставить тип пользователя в вашем коде на один из более конкретных методов записи или вы можете расширить его используя Метод add_write_handler() . Иногда это может быть более удобно, а затем добавить много логики if/else в ваш код.

В качестве примера предположим, что вы хотите изменить write() для автоматической записи uuid типов в виде строк. Вы бы начали с создания функции, которая берет uuid, преобразует его в строку, а затем записывает с помощью write_string() :

 def write_uuid (лист, строка, столбец, uuid, формат = нет):
    вернуть worksheet. write_string (строка, столбец, строка (uuid), формат)
 

Затем вы можете добавить обработчик, который соответствует типу uuid и вызывает ваш определяемая пользователем функция:

 # match, action()
worksheet.add_write_handler (uuid.UUID, write_uuid)
 

Затем вы можете использовать write() без дальнейших изменений:

 my_uuid = uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
# Запишите UUID. Это вызовет TypeError без обработчика.
рабочий лист.write('A1', my_uuid)
 

Можно добавить несколько функций обратного вызова с помощью add_write_handler() но разрешено только одно действие обратного вызова для каждого типа. Однако правомерно использовать одна и та же функция обратного вызова для разных типов:

 worksheet.add_write_handler(int, test_number_range)
worksheet.add_write_handler (с плавающей запятой, test_number_range)
 

Как работает функция обработчика записи

Метод write() в основном представляет собой большой оператор if() , который проверяет type() входного значения и вызывает соответствующий метод рабочего листа для напишите данные. метод add_write_handler() работает путем внедрения дополнительные проверки типов и связанные с ними действия в этот оператор if() .

Вот упрощенная версия метода write() :

 def write(self, row, col, *args):
    # Первым аргументом должен быть токен для всех вызовов записи.
    токен = аргументы [0]
    # Получить тип токена.
    token_type = тип (токен)
    # Проверьте наличие любых пользовательских обработчиков типов с функциями обратного вызова.
    если token_type в self.write_handlers:
        write_handler = self.write_handlers[token_type]
        function_return = write_handler (я, строка, столбец, * аргументы)
        # Если возвращаемое значение равно None, то обратный вызов завершился
        # управление этой функцией, и мы должны продолжить как
        # нормальный. В противном случае мы возвращаем значение вызывающей стороне и выходим.
        если function_return имеет значение None:
            проходят
        еще:
            возврат function_return
    # Проверить стандартные типы Python, если мы еще не вернулись. 
    если token_type имеет логическое значение:
        вернуть self.write_boolean (строка, столбец, * аргументы)
    # И т.д. ...
 

Синтаксис функций обработчика записи

Функции, используемые в методе add_write_handler() , должны иметь следующая подпись/параметры метода:

 def my_function (лист, строка, столбец, токен, формат = нет):
    вернуть worksheet.write_string (строка, столбец, токен, формат)
 

В функцию будет передан экземпляр листа, целое число строка и значение столбца , токен , который соответствует типу, добавленному к add_write_handler() и некоторые дополнительные параметры. Обычно дополнительный(е) параметр(ы) будет только форматом ячейки пример. Однако, если вам нужно обрабатывать другие дополнительные параметры, такие как переданные в write_url() , тогда вы можете иметь более общую обработку вот так:

 def my_function (лист, строка, столбец, токен, *аргументы):
    вернуть worksheet. write_string (строка, столбец, токен, * аргументы)
 

Обратите внимание, что вам не нужно явно обрабатывать диапазоны ячеек в стиле A1 . Это будет быть преобразованы в значения строк и столбцов до вызова вашей функции.

Вы также можете использовать параметры row и col для управления логика функции. Скажем, например, вы хотели скрыть/заменить пользователя пароли с ‘****’ при записи строковых данных. Если ваши данные были структурирован так, чтобы данные пароля находились во втором столбце, кроме строки заголовка, вы можете написать функцию-обработчик следующим образом:

 def hide_password(worksheet, row, col, string, format=None):
    если столбец == 1 и строка > 0:
        вернуть worksheet.write_string (строка, столбец, '****', формат)
    еще:
        вернуть worksheet.write_string (строка, столбец, строка, формат)
 

Возвращаемое значение функций обработчика записи

Функции, используемые в методе add_write_handler() , должны возвращать одно из следующие значения:

  • Нет : чтобы указать, что управление возвращается к родителю write() метод, чтобы продолжить как обычно. Это используется, если логика вашей функции обработчика решает, что вам не нужно обрабатывать совпадающий токен.
  • Возвращаемое значение вызванной функции write_xxx() . это вообще 0 для отсутствия ошибок и отрицательное число для ошибок. Это вызывает немедленное вернуться с вызова метод write() с возвращаемым значением, которое было прошло обратно.

Например, предположим, что вы хотели игнорировать значений NaN в своих данных, начиная с Excel. не поддерживает их. Вы можете создать функцию обработчика, подобную следующей это соответствовало числам с плавающей запятой и записывало пустую ячейку, если это было NaN или просто вернулся к write() , чтобы продолжить как обычно:

 def ignore_nan(worksheet, row, col, number, format=None):
 если math.isnan(число):
 вернуть worksheet.write_blank (строка, столбец, нет, формат)
 еще:
 # Вернуть управление вызывающему методу write().

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *