从一个文本文件中读取每一行并确定它是否有

2024-09-27 00:22:29 发布

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

我有一个如下所示的文本文件:

12码USD ASSDAS FSDDSFSD SDFF

AA FSDFSD FSDF SDFSDG GSDDSFS SDF公司

AB SDFSDF SDFFSDFDS SDSDSDSD

符合SDFSDDSDSD EW12 SDFSD 3322

ACDD FDSDSFS SDFGSDG DSGSDF公司

AB FSDFSD SDF34 223DSFSD公司

ABBD 2332美国存托凭证

以此类推,每行大约有500个不同的起点。我想写一个程序来获取行,在第一个标签页(每列之间有一个标签页)之前从中取出所有内容,并将其放入如下列表中:

['A'、'AA'、'AB'、'ACC'、'ACDD'、'AB'、'ABBD']

到目前为止,这是我的程序,但不太管用:

file1 = open("filename", "r")
file2 = open("filename2", "w")
i=0
k = 0
sp500list = []
with open("filename1") as f:
    lines = f.readlines()
while (abc < len(lines)):
    LineStr = str(lines[i])
    j = 0
    if (LineStr[j] != ''):     
        j = j + 1        
        if (LineStr[j] !=''):             
            j = j + 1
        elif (LineStr[j] == ' '):
            sp500list.append(str(LineStr[:2]))
            i = i + 1
            if (LineStr[j] !=''):
                j = j + 1
            elif (LineStr[j] == ' '):
                sp500list.append(str(LineStr[:3]))
                i = i + 1
                if (LineStr[j] !=''):
                    sp500list.append(str(LineStr[:4]))                    
                    i = i + 1
                    j = 0        

    elif (LineStr[j] == ' '):
        i = i + 1        
    print sp500list     
    abc = abc + 1

到目前为止,它只返回一个空数组,有人能帮忙吗?你知道吗

谢谢!你知道吗


Tags: ifab公司openaalinesabcelif
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:29

这可以简化。split每行'\t',并获取结果列表的第一个元素。你知道吗

>>> with open('file.txt') as f:
...     result = [line.split('\t', 1)[0] for line in f]
... 
>>> result
['A', 'AA', 'AB', 'ACC', 'ACDD', 'AB', 'ABBD']

或者,使用result = [line[:line.find('\t')] for line in f]。你知道吗

相关问题 更多 >

    热门问题