2

我有一个看起来像这样的 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(',')])

编辑:如何将我的字符串列表转换为整数列表?使用我上面编写的代码行尝试了一些变体,但无法实现。

4

3 回答 3

8

传递"." + string.whitespacestrip它以去除空格和句点:

from string import whitespace
for line in inputFile:
    fileData.append([int(x.strip("." + whitespace)) for x in line.split(',')])
于 2013-04-19T17:59:41.540 回答
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()处理所有空格更干净。

于 2013-04-19T17:59:21.343 回答
1
with open('filename') as f:
    file_data = [[int(float(i)) for i in line.split(',')] for line in f]
于 2013-04-19T18:16:26.793 回答