将文本文件加载到单个字符串和表中
我想做以下几件事:
- 把一个文本文件的内容加载到一个字符串里
- 把这个字符串中不是字母的所有字符去掉
- 然后把这个字符串分成一个表格,每行包含5个字符
def dataFile:
dataFile = open("data.txt", "r")
for character in dataFile:
lines = character.readlines()
dataFile.close()
return
2 个回答
1
把一个文本文件的内容加载到一个字符串里:
with open('data.txt') as file: text = file.read()
从这个字符串中去掉所有不是字母的字符:
letters = filter(str.isalpha, text)
然后把这个字符串分成一个表格,每一行有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:]