[問題] 處理文件檔案txt->excel

看板Python作者時間5年前 (2020/05/19 21:36), 5年前編輯推噓5(502)
留言7則, 5人參與, 5年前最新討論串1/1
已完成如下 有更好方法嗎 layst = [2,6,13,21,28,39,50,61,72,83,94,105,116,127,134,135,136,143,150,157,164, 175,182] laylg = [6,13,21,28,39,50,61,72,83,94,105,116,127,134,135,136,143,150,157,164,17 5,182,201] clast = [2,13,17,21,28,35,42,49,60,61,76,87,94,101,106] clalg = [13,17,21,28,35,42,49,60,61,76,87,94,101,106,201] eb =oe.readlines() blay = [] bfin = [] clay = [] cfin = [] for i in range(len(eb)): if eb[i].startswith("B"): for k , l in zip(layst,laylg): try: blay.append(int(eb[i][k-1:l-1])) except: blay.append(eb[i][k-1:l-1]) ff = blay.copy() bfin.append(ff) blay.clear() elif eb[i].startswith("C"): for m , n in zip(clast,clalg): try: clay.append(int(eb[i][m-1:n-1])) except: clay.append(eb[i][m-1:n-1]) ffc = clay.copy() cfin.append(ffc) clay.clear() rounders (望仔) 看板: Python 標題: [問題] 處理文件檔案txt->excel 時間: Tue May 19 21:36:32 2020 剛開始學Python,現行目標是想朝向自動化電腦操作 現在要將無分隔符號的文字檔 依每行開始位置及長度拆分為不同欄位在轉到Excel檔 今天用seed和readline()試不出來 還是要用pandas做得到呢? 文字檔如 aaa100bb633777555 bbb233bb777666555 開始1 4 7 9 12   長度3 3 2 3 6 希望自動轉成excel 人名   金額   班級  積分   累計積分 aaa 100 bb 633 777555 bbb 233 bb 777 666555 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.189.27 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1589895394.A.3F7.html

05/19 22:20, 5年前 , 1F
看你全型的英文豆頁很痛
05/19 22:20, 1F

05/19 22:41, 5年前 , 2F
先把英數都用半型再說
05/19 22:41, 2F

05/19 23:15, 5年前 , 3F
regex
05/19 23:15, 3F

05/20 00:30, 5年前 , 4F
如果每一條字串開始切的起點和長度都相同,那用[:]切
05/20 00:30, 4F

05/20 00:30, 5年前 , 5F
應該就可以了,切完後用with open開一個檔存入就好
05/20 00:30, 5F

05/20 10:09, 5年前 , 6F
我覺得用awk 或是sed會簡單很多
05/20 10:09, 6F

05/20 10:38, 5年前 , 7F
樓上也是好方法
05/20 10:38, 7F
※ 編輯: rounders (220.133.189.27 臺灣), 05/20/2020 19:44:51 ※ 編輯: rounders (220.133.189.27 臺灣), 05/25/2020 23:23:39 ※ 編輯: rounders (220.133.189.27 臺灣), 05/25/2020 23:34:23 ※ 編輯: rounders (39.12.165.12 臺灣), 05/29/2020 17:51:00
文章代碼(AID): #1Um-3YFt (Python)
文章代碼(AID): #1Um-3YFt (Python)