Python Pandas数据框在Excel工作表中读取确切的指定范围

我有很多不同的表(以及Excel工作表中的其他非结构化数据)..我需要从Excel工作表“数据”的“ Sheet2”创建一个范围“

A3:D20”之外的数据框。

我遇到的所有示例都深入到工作表级别,但没有介绍如何从确切范围中进行选择。

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列中找到其对应的值。

编辑1:我意识到openpyxl花费的时间太长,因此将其更改为pandas.read_excel('data.xlsx','Sheet2'),至少在此阶段它要快得多。

编辑2:目前,我仅将我的数据放在一张纸上,然后:

  • 删除了所有其他信息
  • 添加列名,
  • 应用于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)

以上是 Python Pandas数据框在Excel工作表中读取确切的指定范围 的全部内容, 来源链接: utcz.com/qa/412608.html

回到顶部