如何从文件的每一行提取字符和数字?

2024-10-06 07:44:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从文件的每一行提取第一个字符、第二个数字和第三个字符,并将其存储到名为FirstChar、SecondNum和ThirdChar的三个变量中。在

输入文件(多点突变.txt)公司名称:

P1T,C11F,E13T
L7A
E2W

预期产量:

^{pr2}$

我的代码:

 import re 
 import itertools
 ns=map(lambda x:x.strip(),open('MultiplePointMutation.txt','r').readlines())#reading  file
 for line in ns:
         second="".join(re.findall(r'\d+',line))#extract second position numbers
         print second # print second nums
         char="".join(re.findall(r'[a-zA-Z]',line))#Extract all characters
         c=str(char.rstrip())
         First=0
         Third=1
         for index in range(len(c)):
                 if index==First:
                         FC=c[index]#here i got all first characters
                         print FC
                         First=First+2
                 if index==Third:
                         TC=c[index]
                         print TC
                         Third=Third+2#here i got all third characters

输出: 我把第一个字符和第三个字符完全正确

FirstChar:
          P
          C
          E
          L
          E
ThirdChar:
          T
          F
          T
          A
          W

但问题在于获得SecondNum:

           SecondNum:
           11113
           7
           2

我想提取如下数字:

          1
          11
          13
          7
          2

注意:这里,我不想一一打印。我想逐个读取这个SecondNum变量值,以便以后使用。在


Tags: retxtindexline数字all字符first
1条回答
网友
1楼 · 发布于 2024-10-06 07:44:54

对于secondNum,您可以简单地修改行:

second="".join(re.findall(r'\d+',line))#extract second position numbers

^{pr2}$

但我认为你的第一个和第三个字符不能正常工作。从您要接收的第一个输出中,您应该具有以下内容:

^{3}$

但是你的第三个字符是第三个数字代表L7A(你想有A),但它也是P1TQ的第四个(你想有Q)

相关问题 更多 >