我有一个如下所示的txt文件:
1, 0., 0., 0.
2, 0., 0., 600.
3, 0., 0., 2600.
4, 0., 0., 50.
我想阅读它并创建以下列表:
['1', '0', '0', '0']
['2', '0', '0', '600']
['3', '0', '0', '2600']
['4', '0', '0', '50']
但是我只能获得:
['1', '0.', '0.', '0.']
['2', '0.', '0.', '600.']
['3', '0.', '0.', '2600.']
['4', '0.', '0.', '50.']
我的代码如下:
for line in inputFile:
fileData.append([x.strip() for x in line.split(',')])
编辑: 如何将我的字符串列表转换为整数列表?尝试使用我上面编写的代码行进行一些修改但无法实现。
答案 0 :(得分:8)
将"." + string.whitespace
传递给strip
,以便删除空格和句点:
from string import whitespace
for line in inputFile:
fileData.append([int(x.strip("." + whitespace)) for x in line.split(',')])
答案 1 :(得分:4)
for line in inputFile:
fileData.append([int(x.strip().rstrip('.')) for x in line.split(',')])
而不是x.strip().rstrip('.')
,您可以使用x.strip(' \t\r\n.')
,但我认为让x.strip()
处理所有空格更为清晰。
答案 2 :(得分:1)
with open('filename') as f:
file_data = [[int(float(i)) for i in line.split(',')] for line in f]