已完成如下 有更好方法吗
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://webptt.com/cn.aspx?n=bbs/Python/M.1589895394.A.3F7.html
1F:推 ctr1: 看你全型的英文豆页很痛05/19 22:20
2F:→ OrzOGC: 先把英数都用半型再说05/19 22:41
3F:推 TitanEric: regex05/19 23:15
4F:推 moodoa3583: 如果每一条字串开始切的起点和长度都相同,那用[:]切05/20 00:30
5F:→ moodoa3583: 应该就可以了,切完後用with open开一个档存入就好05/20 00:30
6F:推 davidwales: 我觉得用awk 或是sed会简单很多05/20 10:09
7F:推 TitanEric: 楼上也是好方法05/20 10:38
※ 编辑: 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