首页 > 解决方案 > 如何提取给定的单元格位置?

问题描述

我想从 Excel 表中提取给定单元格的位置。

for row in range(rows):
   for col in range(cols):
     thecell = sheet.cell(row, col)
     ertek = thecell.value
     if thecell.value == "Size":
        print thecell.coordinate

我尝试了坐标,但它说:

AttributeError:“单元”对象没有属性“坐标”

标签: pythonxlrd

解决方案


import xlrd

workbook = xlrd.open_workbook('my_file_name.xls')

如果您的文件包含非 ASCII 字符,则应以 unicode 格式打开它,如下所示:

workbook = xlrd.open_workbook('my_file_name.xls', encoding='cp1252')

如果您的电子表格非常大,您可以向 open_workbook 添加一个参数 on_demand,它只将当前工作表加载到内存中:

workbook = xlrd.open_workbook('my_file_name.xls', on_demand = True)

打开工作表如果您知道工作表的名称,则可以通过运行以下命令来打开它:

worksheet = workbook.sheet_by_name('My_Sheet_Name')

如果您不确定工作表的名称,可以通过索引打开第一个工作表:

worksheet = workbook.sheet_by_index(0)

workbook.nsheets 想知道工作表的数量。workbook.sheet_names() 为您提供文件中存在的工作表名称的列表,这有助于您遍历工作表。

从单元格中获取数据 选择工作表后,您可以提取特定数据单元格的值,如下所示。

第一行第一列的值

sheet.cell(0, 0).value

您可以通过循环对其进行迭代以提取整个工作表中的数据。

您可以使用 xlrd 中的 empty_cell 来检测空单元格。

if sheet.cell(0, 0).value == xlrd.empty_cell.value:
    # Do something

或跳过以上所有内容,您可以执行此操作 -->

你可以简单地

import pandas as pd
df = pd.DataFrame('yourexcelpath/filename.xlsx')

对此数据框执行操作,然后再次将其导出到 Excel。

df.to_excel(exportpathname+"\\"+"filename.xlsx", index=False)

如果这是您正在寻找的答案,请投票。


推荐阅读