从导入的python文件中删除空白
所以我导入了一个文件,并使用该文件获取数字,这样我就可以把它放在一个列表中,但空白不会消失。这是我的代码。他们还有其他问题,但到时候我会问你们的。 谢谢从导入的python文件中删除空白,python,Python,所以我导入了一个文件,并使用该文件获取数字,这样我就可以把它放在一个列表中,但空白不会消失。这是我的代码。他们还有其他问题,但到时候我会问你们的。 谢谢 您只需按行分隔输入。你需要 要按字段进一步分隔,请执行以下操作: b = [] for a in open("number.txt", 'r'): b += a.split() print(b) 如果希望b的内容是数字而不是字符串,请使用 for循环中的行: b += [int(x) for x in a.split()]
您只需按行分隔输入。你需要 要按字段进一步分隔,请执行以下操作:
b = []
for a in open("number.txt", 'r'):
b += a.split()
print(b)
如果希望b的内容是数字而不是字符串,请使用
for循环中的行:
b += [int(x) for x in a.split()]
- 埃里克
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的答案来解决问题。我将让您决定如何组合:)只删除字符串两侧的空白。修改代码,使其与此类似-相反,拆分将有效地提取所有数字字符,因为它们不是空格。默认使用空白作为分隔符:
with open('number.txt') as f:
b = [int(n) for n in [a.split() for a in f.readlines()]]
print(b)
这应该行得通。file=open(“number.txt”,“r”)
对于文件中的行:
x=line.split()
print x
你还没有告诉我们你的文件是如何格式化的 在处理最简单的数据方面,它非常擅长。然后可以在各个字段上调用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时,每个
行都是一个字典(键取自第一行)。如果你想为每行添加一个元组,你可以使用香草色。你能展示一些示例吗?这就是打印出来的内容['123 321 321 56546 23 135 13 215684 86213 568']我想去掉空白你是想删除所有空白还是只删除行首和行尾的空白(这就是原因)?您可能需要这个(例如b.append(re.sub('\s','',a))
。我删除了我的,因为OP无法正确解释问题。请同时包括列表生成部分:)
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