使用python解析没有分隔符的文本文件

时间:2016-05-02 23:27:07

标签: python

我已经彻底搜索过,可能使用不正确的搜索词,以便使用Python解析文本文件而不使用分隔符。之前的所有讨论都假定使用CSV库(使用逗号分隔的文本),但由于输入文件不使用逗号分隔格式,因此csv似乎不是正确的库。

例如,我想解析每行的第18到第29个文本字符而不管上下文。输入文件是通用文本,例如,每行的长度为132个字符。

我可以发布一个示例输入,但是如果输入是一般文本并且在不使用任何模式来分析的情况下进行解析,则不会看到其中的点。

想法?

4 个答案:

答案 0 :(得分:0)

struct模块可用于解析固定长度的格式文件。只需使用s格式字符的相应长度修饰符构造格式字符串。

答案 1 :(得分:0)

with open(filename, 'r') as f:
    for line in f:
        print line[18:30]

答案 2 :(得分:0)

你可以简单地使用这样的东西:

Res = [ ]
fo = open( filename) #open your file for reading ('r' by default)
for line in fo: # parse the file line by line
    Res.append( line[ 18 : 30 ]  ) # extract the desired text from the current line
fo.close()

print(Res)# exploit the extracted data

答案 3 :(得分:0)

如果你想要每一行的第18到第29个字符......

f = open(<path>, 'r')
results = [line[18:30] for line in f.readlines() if len(line) > 29]
f.close()
for r in results:
    print r