import xlrd
from xlutils.copy import copy
# 获取数据的方法
def get_data():
# 读取数据
wb = xlrd.open_workbook("./base_data/data01.xlsx")
# 获取sheet
sh = wb.sheet_by_index(0)
'''
{
a:[{},{},{}],
b:[{},{},{}],
c:[{},{},{}],
}
'''
all_data = {}
for r in range(sh.nrows): # 遍历每一行
d = {'type':sh.cell_value(r,1),'name':sh.cell_value(r,2),'count':sh.cell_value(r,3),'price':sh.cell_value(r,4)}
key = sh.cell_value(r,0)
if all_data.get(key): # 如果里面有值
all_data[key].append(d)
else:
all_data[key] = [d] # 如果没有值
return all_data
def save(data):
wb = xlrd.open_workbook('./base_data/data01.xlsx')
wb2 = copy(wb)
for key in data.keys():
ts = wb2.add_sheet(key)
for i,d in enumerate(data.get(key)):
ts.write(i,0,d.get('type'))
ts.write(i,1,d.get('name'))
ts.write(i,2,d.get('count'))
ts.write(i,3,d.get('price'))
wb2.save('./create_data/表格拆分.xlsx')
if __name__ == '__main__':
all_data = get_data()
save(all_data)
# print(all_data)
老师,没办法打开excel xlsx文件,怎么解决