写在前面的话
作为一名菜鸟程序员,往往写出的代码虽然实现了想要的效果 但是写出的代码不够简单, 不够优美
所以在写代码的同时也记录下同事们的代码 记录下他们的思维
第一个场景
需要解析excel表格,然后A列跟B列是一对多的关系,通过A获取到所有的跟A相关的B
我的代码
workbook = xlrd.open_workbook('xxx.xls')
table = workbook.sheets()[0]
m = set()
n = []
ba_ma = []
for row in range(2, table.nrows):
v1 = table.cell_value(row, 0) # 获取到A列数据
v2 = table.cell_value(row, 1) # 获取到B列数据
m.add(v1)
n.append({v1:v2})
for i in m:
l = []
for j in n:
for k, value in j.items():
if k == i:
l.append(value)
ba_ma.append([i, l])
同事代码
vals ={}
for row in range(2, table.nrows):
v1 = table.cell_value(row, 0) # BA_name
v2 = table.cell_value(row, 1) # MA_name
if not v1 or not v2:
print(v1)
continue
if v1 not in vals:
vals.update({v1:[v2]})
else:
vals.get(v1).append(v2)