比较来自 excel 的 2 个导入的 python unicode 列表

Comparing 2 imported python unicode lists from excel

我正在尝试比较从 excel 文件导入的 2 个 python unicode 列表以计算它们的变量。

这是我的代码

import xlrd
import tkFileDialog

excel_file = tkFileDialog.askopenfilename(filetypes=[('excelfile', '*.xslx')], title = 'Choose a .xslx file')

workbook = xlrd.open_workbook(excel_file)
sheet = workbook.sheet_by_index(0)

data = [sheet.col_values(i)[1:] for i in range(sheet.ncols) if sheet.col_values(i)[1]=='Difficulty']
data2 = [sheet.col_values(i)[1:] for i in range(sheet.ncols) if sheet.col_values(i)[1]=='Decision']

print data, data2

hard_yes = 0
hard_no = 0
medium_yes = 0
medium_no = 0
easy_yes = 0
easy_no = 0

for i in zip(data, data2):
    if i == ('Hard', 'Yes'):
        hard_yes = hard_yes + 1
    elif i == ('Hard', 'No'):
        hard_no = hard_no + 1
    elif i == ('Medium', 'Yes'):
        medium_yes = medium_yes + 1
    elif i == ('Medium', 'No'):
        medium_no = medium_no + 1
    elif i == ('Easy', 'Yes'):
        easy_yes = easy_yes + 1
    elif i == ('Easy', 'No'):
        easy_no = easy_no + 1

print hard_yes, hard_no, medium_yes, medium_no, easy_yes, easy_no

我正在尝试将值存储到变量中。当两个列表都被硬编码时我可以这样做,但是当我从 excel.

导入列表时我无法存储值

这是上面代码的输出

[[u'Difficulty', u'Easy', u'Medium', u'Medium', u'Hard', u'Easy', u'Hard', u'Easy', u'Easy', u'Easy', u'Hard', u'Hard', u'Medium', u'Hard', u'Medium', u'Easy', u'Medium', u'Medium', u'Medium', u'Easy', u'Hard']] [[u'Decision', u'Yes', u'No', u'Yes', u'Yes', u'Yes', u'No', u'No', u'No', u'Yes', u'Yes', u'No', u'Yes', u'No', u'Yes', u'Yes', u'No', u'No', u'No', u'Yes', u'No']]
0 0 0 0 0 0

编辑:我刚刚意识到这是一个 unicdoe 列表,如何比较两个 unicode 列表?或者如何正确地将 unicode 列表转换为字符串列表?

datadata2 列表有问题。它们实际上是列表列表,而不是元素列表。因此,对于 zip,您正在迭代 1 个元素列表。

只需更换

for i in zip(data, data2):

for i in zip(data[0], data2[0]):