Excel文件和工作表位置

时间:2014-05-30 22:50:53

标签: python python-2.7 xlrd import-from-excel

我有一个excel文件列表及其相应的表格编号。我需要python去那些工作表并找出特定内容的单元格位置。感谢“alecxe”,我使用了以下代码并且运行良好。

import xlrd
value = 'Avg.'
fn = ('C:/ab1.xls', 'C:/ab2.xls','C:/ab3.xls','C:/ab4.xls','C:/ab5.xls',)
sn = ('505840', '505608', '430645', '505464', '505084')
for name, sheet_name in zip(fn, sn):
    book = xlrd.open_workbook(name)
    sheet = book.sheet_by_name(sheet_name)
    for row in range(sheet.nrows):
        for column in range(sheet.ncols):
            if sheet.cell(row,column).value == value:
                print row, column

后来我想进行更改而不是写下文件名和图片编号,我希望python从excel表中获取它们。但该程序不打印任何东西。任何人都可以告诉我我犯了什么错吗?非常感谢您的评论!

import xlrd
import glob
import os
value = 'Avg.'
sheetnumber = []
filename = []
xlfile = "C:\\Users\\tsengineer\\Desktop\\Joydip Trial\\Simple.xls"
workbook = xlrd.open_workbook(xlfile)
sheet = workbook.sheet_by_index(0)
for row in range(sheet.nrows):
    value = str(sheet.cell_value(row, 17))
    filename.append(value)
for row in range(sheet.nrows):
    value = str(sheet.cell_value(row, 15))
    sheetnumber.append(value)
fn = tuple(filename)
sn = tuple(sheetnumber)
for name, sheet_name in zip(fn, sn):
    book = xlrd.open_workbook(name)
    sheet = book.sheet_by_name(sheet_name)
    for row in range(sheet.nrows):
        for column in range(sheet.ncols):
            if sheet.cell(row,column).value == value:
                print row, column

由于某些原因,肯定循环不起作用,因为我得到两个空列表作为输出。有什么想法吗?

import xlrd
value = 'Avg.'
sheetnumber = []
filename = []
rowlist = []
columnlist = []
xlfile = "C:/Users/Joyd/Desktop/Experiment/Simple_1.xls"
workbook = xlrd.open_workbook(xlfile)
sheet = workbook.sheet_by_index(0)
for row in range(sheet.nrows):
    value = str(sheet.cell_value(row, 17))
    filename.append(value)
for row in range(sheet.nrows):
    value = str(sheet.cell_value(row, 15))
    sheetnumber.append(value)
fn = tuple(filename)
sn = tuple(sheetnumber)
for fname, sname in zip(fn, sn):
    book = xlrd.open_workbook(fname)
    sheet = book.sheet_by_name(sname)
    for row in range(sheet.nrows):
        for column in range(sheet.ncols):
            if sheet.cell(row,column).value == value:
                rowlist.append(row)
                columnlist.append(column)
print rowlist
print columnlist

0 个答案:

没有答案