我想解析excel并打印出来。我写的像
files = glob.glob('./data/*.xlsx')
for x in files:
if "$" not in x:
print(x)
book3 = xlrd.open_workbook(x)
sheet3 = book3.sheet_by_index(0)
cells = [
('user_id', 0, 4),
('name', 0, 5),
('nationality', 1, 4),
('domitory', 1, 5),
('group', 1, 6),
]
dict_data = OrderedDict()
for key, rowy, colx in cells:
try:
dict_data[key] = sheet3.cell_value(rowy, colx)
except IndexError:
dict_data[key] = None
print(dict_data)
所以,我得到了像
这样的结果OrderedDict([('user_id', '1'), ('name', 'Blear'), ('nationality', 'America'), ('domitory', 'A'), ('group', 1)], [('user_id', '1'), ('name', 'Blear'), ('nationality', 'America'), ('domitory', 'A'), ('group', 1)], [('user_id', '1'), ('name', 'Blear'), ('nationality', 'America'), ('domitory', 'A'), ('group', 1)])
所以我真的不明白为什么我只有几次得到一个数据。我想每个数据只获得一次数据。我怎么能解决这个问题?我不认为缩进是错误的。
答案 0 :(得分:0)
你需要修改缩进:
for key, rowy, colx in cells:
try:
dict_data[key] = sheet3.cell_value(rowy, colx)
except IndexError:
dict_data[key] = None
# <--- move left print
print(dict_data)