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

0 投票
2 回答
544 浏览
提问于 2025-04-18 00:36

我想做以下几件事:

  • 把一个文本文件的内容加载到一个字符串里
  • 把这个字符串中不是字母的所有字符去掉
  • 然后把这个字符串分成一个表格,每行包含5个字符
def dataFile:
    dataFile = open("data.txt", "r")
    for character in dataFile:
        lines = character.readlines()
    dataFile.close()
    return

2 个回答

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='')))
    
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)]

[已编辑]

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:]

撰写回答