От новичка до гуру: Курсы программирования на CyberDuff

Как сохранить всю строку или столбец в переменной в Python

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

код

import openpyxl
wb = openpyxl.load_workbook("coordinates.xlsx")  
sh2 = wb['sheet2']
sh1 = wb['sheet1']
x1 = (wb['sheet2'].columns["B"]).values
print(x1)

ошибка

 x1 = (wb['sheet2'].columns["B"]).values
TypeError: 'generator' object is not subscriptable

Process finished with exit code 1

почему это происходит? есть ли другой способ сохранить все данные одного столбца в одной переменной?

23.03.2021


Ответы:


1

https://stackoverflow.com/a/66772758/10163595 дает вам конкретный ответ, который вам нужен. Однако в качестве пояснения, wb['sheet2'].columns является объектом-генератором и не может иметь индекс.

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

for column in wb["sheet2"].columns:
    for cell in column:
        print(cell.value)

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

В качестве альтернативы вы можете использовать метод iter_cols() для перебора каждого столбца.

23.03.2021
  • Я хочу сохранить один столбец в одной переменной и второй столбец во второй переменной. iter_cols У меня есть диапазон выбора, который составляет минимальный столбец и максимальный столбец. в моем случае нет минимального столбца и максимального столбца, потому что есть определенный столбец. не могли бы вы немного подсказать? 24.03.2021
  • Это та же процедура, что и в другом ответе. Чтобы сохранить столбец A в переменной: column_a = wb['sheet1']['A']. Чтобы сохранить столбец B в переменной: column_b = wb['sheet1']['B']. 25.03.2021

  • 2

    Попробуй это:

    import openpyxl
    wb = openpyxl.load_workbook("coordinates.xlsx")  
    sh2 = wb['sheet2']
    sh1 = wb['sheet1']['B']
    x1 = [i.value for i in sh1]
    print(x1)
    
    23.03.2021
    Новые материалы

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

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

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

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

    «Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
    TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

    Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
    Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

    Все о кейсах: Camel, Snake, Kebab & Pascal
    В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..