所以我导入一个文件并使用该文件我抓住了数字,所以我可以把它放在一个列表中,但是白色空间不会消失这是我的代码到目前为止。他们还有其他问题,但到那时我会问你们。 感谢。
b = []
opening = open("number.txt",'r')
for a in opening:
b.append(a.strip())
opening.close()
print(b)
答案 0 :(得分:0)
您只是按行分隔输入。你需要 进一步按字段分开:
b = []
for a in open("number.txt", 'r'):
b += a.split()
print(b)
如果您希望b的内容为数字,而不是字符串,请使用此选项 for循环中的行:
b += [int(x) for x in a.split()]
答案 1 :(得分:0)
我想让123变成1,2,3
在这种情况下,请使用re
模块:
>>> import re
>>> s = '123'
>>> re.split(r'(\d)', s)[1::2]
['1', '2', '3']
>>> list(map(int, re.split(r'(\d)', s)[1::2]))
[1, 2, 3]
将此与@ thefourtheye的解决方案相结合。我会告诉你如何将它结合起来:)
答案 2 :(得分:0)
str.strip()
仅从字符串的两边移除空格。修改你的代码,使其像这样 - 而分裂将有效地提取所有数字字符,因为它们不是空格。 str.split()
默认使用空格作为分隔符:
with open('number.txt') as f:
b = [int(n) for n in [a.split() for a in f.readlines()]]
print(b)
这应该有效。
答案 3 :(得分:0)
file = open(" number.txt"," r")
for line in file:
x=line.split()
print x
答案 4 :(得分:0)
您还没有告诉我们您的文件是如何格式化的。
csv module非常擅长处理大多数简单数据。然后,您可以在各个字段上调用strip。
import csv
with open("number.txt", "r") as f:
reader = csv.DictReader(f, skipinitialspace=True)#see docs for configuration
for row in reader:
print row
由于我们在这里使用了DictReader,因此每个row
都是一个字典(从第一行获取键)。如果你想为每一行添加一个元组,你可以使用vanilla csv.reader。