python 操作excel根据某一行的数值对一行进行复制扩列-代码实现
今天又帮同学做了一个题目,是关于excel针对一行的某个数字进行对该行进行扩列:
如下:根据数量那个值进行如下扩行
代码实现如下:
这个代码功能还是很实用的,感兴趣的,可以学习学习
import xlwt
import xlrd
import numpy as np
path="C:/learn_data/"
#Excel数据
#生成xls工作薄
#生成xlsx工作薄
#从工作薄中读取
book = xlrd.open_workbook(path + '大数量拆分.xlsx')
import os
wb = xlwt.Workbook()
print(wb)
wb.add_sheet('first_sheet', cell_overwrite_ok=True)
wb.get_active_sheet()
ws_1 = wb.get_sheet(0)
print(ws_1)
sheet_1 = book.sheet_by_index(0) #通过索引获得表
row_final=0;
for row in range(sheet_1.nrows):
if row>2:
print(sheet_1.row(row)[4])
try:
num=int(sheet_1.row(row)[4].value)
for i in range(num):
for c in range(sheet_1.ncols):
if c!=4:
ws_1.write(row_final, c,sheet_1.row(row)[c].value)
else:
ws_1.write(row_final, c,int(1))
row_final=row_final+1
except:
pass
else:
for c in range(sheet_1.ncols):
ws_1.write(row_final, c,sheet_1.row(row)[c].value)
row_final=row_final+1
# print(sheet_1.row(row))
#for c in range(data.shape[0]):
# for r in range(data.shape[1]):
# ws_1.write(r, c, int(data[c, r]))
wb.save(path + 'workbook.xlsx')
os.system("pause")