整体思路:将数据保存到txt里,然后传给list,再构建二维list,最后将二维list写入到excel表格里
!!!注意:这里需要注意的是要分清楚list,list1,list2分别是做什么用
from openpyxl import Workbook
import os
#这里是需要用户输入一共有多少列
col_n = int(input("Please input the column_number : "))
#我是将表的数据存储在1.txt里,然后将数据传给a_txt
with open("1.txt","r")as f:
a_txt = f.read()
#因为我的数据是一行就一个数据,所以这里我用到字符串分割以换行符来分割str.split("\n")
list = a_txt.split("\n")
#这里创建两个列表是因为我将每一行的数据传给list1,然后将list1作为一整个数据,传给list2,然后每传一次给list2,我就将list1清空
#这样就构建了一个二维的列表list2
list1 = []
list2 = []
#注意这里的长度的list的!然后col_n就是用户输入的列数
for i in range(0,len(list),col_n):
#这里(i,i+col_n)是为了每次传完list1给list2后,可以从list的下一个数值开始传数据
for j in range(i,i+col_n):
list1.append(list[j])
list2.append(list1)
#这里就是将list1清空,等下一次循环时,重新赋值给list1
list1 = []
#这里就是一些将数据写入excel表格的基本操作,这里我用到的库是openpyxl
wb = Workbook()
sheet=wb["Sheet"]
for i in range(len(list2)):
sheet.append(list2[i])
wb.save(r'1.xlsx')
print("Write Over!")
#构建cmd命令,然后调用os.system来执行cmd命令
#这里的cmd命令是将刚刚写好保存好的1.xlsx打开
cmd = "start 1.xlsx"
os.system(cmd)
print("Open Successful!")