需要在python中读取和写入excel中的列和行名称的值

时间:2015-01-23 11:33:04

标签: excel python-2.7

我正在尝试使用python在excel中读取和写入值。我已经完成了单元格编号,但这不是充分的方法。任何人都可以指导如何实现同样的目标。例如。

测试没有TestCase构建结果预期的实际用户名密码 1 loginWithValidID_StatusCode admin admin 2 loginWithValidID_Body 403 admin admin 3 loginWithValidID_Login_Token TRUE admin admin 4 loginWithValidID_VersionedUR http://xx.xxx.xx.xxx:xxx/ admin admin

5 loginWithInvalidID_StatusCode 403 admin admin1 6 loginWithInvalidID_Body空管理员admin1 7 loginWithInvalidID_Login_Token空管理员admin1 8 loginWithInvalidID_VersionedUR为空管理员admin1

首先,我需要首先针对测试用例名称读取预期值,然后在相应列中填充实际值和结果。请帮忙。

1 个答案:

答案 0 :(得分:0)

您能提供代码和示例数据吗?你想做什么并不是很清楚。

以下是一些代码(从此处改编:http://www.numbergrinder.com/2008/10/pulling-data-from-excel-using-python-xlrd/和此处Finding the index of an item given a list containing it in Python)来读取Excel工作表中的数据,并根据您需要的行和列名称获取单元格的值

import xlrd

book = xlrd.open_workbook("data.xls") #open xls file


sheet = book.sheet_by_index(0) #get the first sheet from your excel file (assuming that your data is in the first sheet

r = sheet.row_values(0) #returns all the Values of row 0 as a list
c = sheet.col_values(0) #returns all the VALUES of column 0 as a list

row_you_need_to_access = 'row_name_a'
column_you_need_to_access = 'col_name_a'


for index_r, value_r  in enumerate(r):
    if value_r == row_you_need_to_access:
        row_index = index_r
        for index_c, value_c in enumerate(c):
            if value_c == column_you_need_to_access:
                column_index = index_c
                value_you_need = sheet.cell(row_index,column_index).value

然后,您需要找到匹配的单元格的row_index,column_index和value。如果没有示例文件,很难知道如何继续,但我希望这能帮助您实现目标。

要写入excel,您可以'导入xlwt'。我想最好写入一个新文件以避免覆盖数据。