将文本文件加载到单个字符串和表中

时间:2014-03-31 00:27:13

标签: python python-3.x

我想做以下事情:

  • 将文本文件加载到单个字符串中
  • 从字符串中删除非字母
  • 的所有字符
  • 然后将字符串分成一个表,每行有5个字符
def dataFile:
    dataFile = open("data.txt", "r")
    for character in dataFile:
        lines = character.readlines()
    dataFile.close()
    return

2 个答案:

答案 0 :(得分:1)

  1. 将文本文件加载到单个字符串中:

    with open('data.txt') as file: 
        text = file.read() 
    
  2. 删除字符串中不是字母的所有字符:

    letters = filter(str.isalpha, text)
    
  3. 然后将字符串分成一个表,每行有5个字符:

    from itertools import zip_longest
    
    result = list(map(''.join, zip_longest(*[iter(letters)]*5, fillvalue='')))
    

答案 1 :(得分:0)

为此,您可以使用isalpha()方法。

你应该按如下方式进行:

with open("data.txt", "r") as your_file:
    lines = your_file.readlines()

lines = ''.join(line.strip() for line in lines)
lines = ''.join(letter for letter in lines if letter.isalpha())

char_per_line = 5

result = [lines[i:i+char_per_line] for i in range(0, len(lines), char_per_line)]

[EDITED]

key = [5,6,3,7,4,6,3,5,3]

for index,line in zip(key, result):
    print line[index]

[再次编辑]

for index,line in zip(key, result):
    print line[:index]+line[index].upper()+line[index+1:]