今天碰到一个Excel文件就用xlrd玩一下
工作表一:
工作表二:
根据表一中的编号找到表二中相同编号的商品,做成一个一对多的关系,如果表二中没有就不要
代码:
# -*-coding:utf-8-*-
"""
zjl
"""
import xlrd
#打开文件
data = xlrd.open_workbook('test.xlsx')
#打开工作表
table = data.sheets()[0]
tablex = data.sheets()[1]
#获得所有行数
nrows = table.nrows
nrowsx = tablex.nrows
#用一张工作表中编号对应另一张表的编号,形成一对多的关系
json_data = {}
#获得所有行数据
for i in range(nrows):
list_data = []
for x in range(nrowsx):
if table.row_values(i)[0] == tablex.row_values(x)[0]:
list_data.append(tablex.row_values(x)[1])
json_data[table.row_values(i)[1]] = list_data
# print(json_data)
for kk,vv in json_data.items():
if len(vv) !=0:
print(kk)
print(vv)
print("\n")
结果:
HUGGIES 好奇 纸尿裤 Premier Plus M 24片 男 6包
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus M 24\u7247 \u7537 6\u5305', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus M 24\u7247 \u7537 6\u5305']
HUGGIES 好奇 纸尿裤 Premier Plus S 64片 男
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus S 64\u7247 \u7537 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus S 64\u7247 \u7537 ']
Lauríer 乐而雅 纸尿裤 M 68片
[u'Laur\xeder \u4e50\u800c\u96c5 \u7eb8\u5c3f\u88e4 M 68\u7247 ']
HUGGIES 好奇 纸尿裤 NATURE MAD S 54片 女
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD S 54\u7247 \u5973 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD S 54\u7247 \u5973 ']
Merries 花王 纸尿裤 L 58片
[u'Merries \u82b1\u738b \u7eb8\u5c3f\u88e4 L 58\u7247 ']
HUGGIES 好奇 纸尿裤 4段 L 50片
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 4\u6bb5 L 50\u7247 ']
Merries 花王 纸尿裤 L 54片
[u'Merries \u82b1\u738b \u7eb8\u5c3f\u88e4 L 54\u7247 ']
HUGGIES 好奇 纸尿裤 3段 M 60片
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 3\u6bb5 M 60\u7247 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 3\u6bb5 M 60\u7247 ']
HUGGIES 好奇 纸尿裤 NATURE MAD 3段 M 52片 男
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD 3\u6bb5 M 52\u7247 \u7537 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD 3\u6bb5 M 52\u7247 \u7537 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD 3\u6bb5 M 52\u7247 \u7537 ']
HUGGIES 好奇 纸尿裤 Premier Plus M 24片 女 6包
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus M 24\u7247 \u5973 6\u5305', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus M 24\u7247 \u5973 6\u5305']
HUGGIES 好奇 纸尿裤 Premier Plus S 64片 女
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus S 64\u7247 \u5973 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus S 64\u7247 \u5973 ']
HUGGIES 好奇 纸尿裤 NATURE MAD 4段 L 42片 女
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD 4\u6bb5 L 42\u7247 \u5973 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD 4\u6bb5 L 42\u7247 \u5973 ']
HUGGIES 好奇 纸尿裤 NATURE MAD S 54片 男
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD S 54\u7247 \u7537 ', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 NATURE MAD S 54\u7247 \u7537 ']
HUGGIES 好奇 纸尿裤 Premier Plus L 20片 6包
[u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus L 20\u7247 6\u5305', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus L 20\u7247 6\u5305', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus L 20\u7247 6\u5305', u'HUGGIES \u597d\u5947 \u7eb8\u5c3f\u88e4 Premier Plus L 20\u7247 6\u5305']
GOO.N 大王 纸尿裤 天使系列 L 38片
[u'GOO.N \u5927\u738b \u7eb8\u5c3f\u88e4 \u5929\u4f7f\u7cfb\u5217 L 38\u7247 ']