在字符串文件中搜索'str'类型的数组

时间:2014-02-24 12:47:19

标签: python string excel search unicode

我正在non_int_ram_var中搜索trial.txt中的文字。 non_int_ram_var从excel表中获取数据,该表基本上是unicode。因此,我将其输入到str,以便trial.txt类型与non_int_ram_var匹配。但控件没有进入if var in line:。我已经交叉验证了var存在于文本文件的其中一行中。我可能会犯一些错误。任何人都可以给我一个建议吗?

from xlrd import open_workbook
import unicodedata
work_book= open_workbook("C:\\Users\\E542639\\Desktop\\non_sram_mem\\SEU_MBU_FINAL_VARIABLE_LIST.xls");

# reading xls file for non_int sram..............
non_int_ram_var = [] * 376
row=1

for sheet in work_book.sheets():
    if "Data" == sheet.name :
        print sheet.nrows, sheet.ncols
        while row < sheet.nrows:
            if "int_sram" != sheet.cell(row,5).value:
                if "file name only" != sheet.cell(row,7).value :
                    non_int_ram_var.append(str(sheet.cell(row,1).value))
            row=row + 1

# checking variable in mapfile.........

map_file = open("C:\\Users\\E542639\\Desktop\\non_sram_mem\\trial.txt", "r")
non_categorized = open("C:\\Users\\E542639\\Desktop\\non_sram_mem\\non_categorized.txt","w")

print "processing..."

for var in non_int_ram_var:
    while True:
        line = str.encode(map_file.readline())
        if not line: break

        if var in line:
            print "control here"
            non_categorized.writelines(line)  # write won't work

print 'done!!!'

map_file.close()
non_categorized.close()

=============================================== ===================

在下一次迭代中读取到文件结尾之后,光标未到达文件的开头。这是我的错。谢谢戳,你的建议显示方式。这就是我现在所做的并且工作正常。

如果不是行:             map_file.seek(0)             破

1 个答案:

答案 0 :(得分:0)

Python默认将文件读入str对象。

我想你可以试试

for line in map_file:
     if var in line:
        print "control here"
        ...