整體思路:將數據保存到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!")