解析文本文件

时间:2016-12-20 21:26:45

标签: python

我在文本文件中有200个名字的列表。名称中的所有字符均为小写,并且由6个字符或7个字符组成,并分为多个标题。有些有副标题。我尝试基于空间进行拆分,但最终将文本文件拆分为每个名称部分之间的空格。还会打印一些\n。我有两个不同的想法,我坚持两个。

Header
subheading
namenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamename


Heading


Header
subheading
namenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamename

最后,我试图忽略标题和副标题(在所有大写字母,所有小写字母和两者的混合之间变化)并只打印名称。我开始尝试将所有内容作为列表附加,但是,因为我无法正确解析文本,所以我最终得到错误或者单独打印每个字符串的每个字母。

path_to_file = 'pathgoeshere'

check_list = []

for word in open(path_to_file).read()
    username = str(word)
    check_list.append(username)
    print username

List = open(path_to_file).readlines()
print List


for x in List:
    user_name = str(x)
    if user_name.lower():
      print user_name

在我的实际代码中,它的格式正确,但这是我所寻找的内容。

最后,我希望解析并计算名称,而不计算我不需要的无关文本。

我不知道从哪里开始。

2 个答案:

答案 0 :(得分:0)

我并不完全明白你所追求的是什么。但这应该让你开始(忽略标题和副标题,只打印所有名称):

with open('pathgoeshere') as infile:
    for line in infile:
        line = line.strip()
        if any(char.isupper() for char in line): continue
        print line

由于你的名字(你关心的东西)全部是小写的,你应该可以通过简单测试一行是否有大写字符来逃避

答案 1 :(得分:0)

这是我的想法:

  • 名称似乎仅在aws ec2 start-instances --instance-ids i-123471b4 --region us-east-1 aws ec2 stop-instances --instance-ids i-123471b4 --region us-east-1 Header
  • 之后出现
  • subheading split并找到每组大于3行的最后一行。
\n
相关问题