# -*- coding: utf-8 -*-
# @创建日期 : 2022/06/18 --11:50
# @作 者 : yian
# @站 点 :
# @文 件 : 功能描述:将单列的excle表格数据换成多列并保存
#####修改三个参数,原始文件目录,保存的目录,多少个为一行 ,然后运行即可
# 01原始excle文件目录
excle_file = r'D:\WeChat_Files\WeChat Files\wxid_5tyy1r2h87l922\FileStorage\MsgAttach\af18179207152b57021a330de42122e4\File\2022-06\fi-120-050.xls'
# 02修改之后保存目录,及保存文件名称,需要加上.xls 。 不加目录只有名字,则文件是在本程序所在目录内
save_file = r'data.xls'
# 03多少个为一行
col_number = 7
import xlrd
import xlwt
import numpy as np
def read_excle():
data = xlrd.open_workbook(excle_file)# 打开文件
sheet_name = data.sheet_names()
print("开始转换:"+ str(sheet_name))
# table = data.sheet_by_name('sheet1')
table = data.sheet_by_index(0)
print("一共:",str(table.nrows)+"行",str(table.ncols)+"列")# 总行数
data_list=[]
for row in range(table.nrows):
data_list.append(table.row_values(row))
# print(data_list) # 原始表格所组成的列表
# hang =row//7
# lie=row%7
# sheet2.write(hang,lie,table.row_values(row))#写入excel,i行0
return data_list
def write_excle():# 多少列
writebook = xlwt.Workbook() #打开一个excel
sheet = writebook.add_sheet('sheet1')#在打开的excel中添加一个sheet
# a=np.array(data_list)
a=np.array(read_excle())
b=a.reshape(-1,col_number)
for i in range(len(b)):
for j in range(len(b[i])):
sheet.write(i, j, b[i][j])
writebook.save(save_file) #保存
print("*****保存完毕****")
write_excle()
# print(b)
的单列数据转成多列