单列excle转多列

# -*- 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)

的单列数据转成多列

猜你喜欢

转载自blog.csdn.net/yanhaohui/article/details/125347696
今日推荐