Python Pandas数据框在Excel工作表中读取确切的指定范围
我有很多不同的表(以及Excel工作表中的其他非结构化数据)..我需要从Excel工作表“数据”的“ Sheet2”创建一个范围“
A3:D20”之外的数据框。
我遇到的所有示例都深入到工作表级别,但没有介绍如何从确切范围中进行选择。
import openpyxlimport 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_workbookwb = 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