Python Pandas DataFrame считывает точный заданный диапазон в листе excel

У меня много разных таблиц (и других неструктурированных данных на листе excel). Мне нужно создать DataFrame вне диапазона «A3: D20» из «Sheet2» данных Excel-листа »

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

import openpyxl import pandas as pd wb = openpyxl.load_workbook('data.xlsx') sheet = wb.get_sheet_by_name('Sheet2') range = ['A3':'D20'] #<-- how to specify this? spots = pd.DataFrame(sheet.range) #what should be the exact syntax for this? print (spots) 

Как только я получу это, я планирую искать некоторые данные в столбце A и найти соответствующее значение в столбце B

EDIT: я понял, что openpyxl занимает слишком много времени, и поэтому изменил это на pandas.read_excel('data.xlsx','Sheet2') вместо этого, nad намного быстрее на этом этапе по крайней мере

Edit2: Пока я поместил свои данные всего на один лист и удалил все другие имена info..added column, Applied index_col в моем левом столбце .. а затем с помощью wb.loc [], который решает его для меня

Один из способов сделать это – использовать модуль openpyxl .

Вот пример:

 from openpyxl import load_workbook wb = load_workbook(filename='data.xlsx', read_only=True) ws = wb['Sheet2'] # Read the cell values into a list of lists data_rows = [] for row in ws['A3':'D20']: data_cols = [] for cell in row: data_cols.append(cell.value) data_rows.append(data_cols) # Transform into dataframe import pandas as pd df = pd.DataFrame(data_rows) 

Используйте следующие аргументы из документации pandas read_excel :

  • skiprows: list-like
    • Строки для прокрутки в начале (0-индексированные)
  • parse_cols: int или список, по умолчанию None
    • Если None, то проанализируйте все столбцы,
    • Если int указывает последний анализируемый столбец
    • Если список ints указывает список номеров столбцов, которые нужно разобрать
    • Если строка указывает на список разделенных запятыми имен столбцов и диапазонов столбцов (например, «A: E» или «A, C, E: F»)

Я предполагаю, что вызов будет выглядеть так:

 df = read_excel(filename, 'Sheet2', skiprows = 2, parse_cols = 'A:D') 
  • PYQT4 не умеет писать в excelwriter
  • Pandas: to_excel () float_format
  • python - Как обрабатывать «старые» даты при передаче данных в excel
  • удалить часть строки в pandas / сдвинуть часть строки? Выровнять столбцы столбцов
  • Организация данных, считываемых из Excel в Pandas DataFrame
  • Python Pandas XlsxWriter Center через выбор
  • Запись данных из df в книгу Excel, которая уже имеет другие рабочие листы
  • Как анализировать даты для сравнения времени для сравнения по конкретному значению
  • Проблемы с Pandas DataFrame для Excel
  • Создание информационных кадров с одного листа в пандах
  • Пользовательский сортировать все строки в dataframe в одном порядке excel
  • Interesting Posts

    Excel Data Validation Combo Box: ограничить параметры для именованного диапазона

    Excel – обновление цены на продукт, основанный на большем списке

    Могу ли я создать раскрывающийся список с данными из нескольких листов

    Я хочу сделать словарь в хорошем состоянии

    Добавить ячейку в другую ячейку

    Объявление глобальной переменной диапазона вызывает ошибку автоматизации

    Добавить содержимое области печати (добавление) в конце исходного файла pdf в новом разделе страницы

    Python win32com Excel.Application выдает ошибку, если курсор находится в ячейке, когда для параметра «visible» установлено значение False

    используйте отдельную веб-страницу, чтобы обновить файл excel htm

    Открыть файл Excel из библиотеки документов SharePoint 2007 с помощью C #

    Очистка большого текстового файла

    Почему в Excel сравнение 1 <'или сравнение любого числа с любым текстом с <результатами в true?

    Присвоение данных отдельным вкладкам и использование переменных для отслеживания VBA Excel

    Объединение нескольких файлов .xls в один лист

    Реализация алгоритма dijkstra в VBA

    Давайте будем гением компьютера.