python如何将文本拆分成新列表

时间:2014-02-24 16:45:28

标签: python

我想在列表中添加多行文字:

123456      123456      123456      234567      234567       4567890
243564      194563      432423      764575      542354       6564536

我想你明白了。空格分隔的值,每个值应该是它自己的值。每行73个值,类似144行。我知道如何根据专栏进行拆分:

d = list(zip(*(e.split() for e in b)))

我如何根据行拆分。我想要d[0] = '123456,123456,123456,234567,234567,4567890'

不是d[0] = '123456,243564'

上面的行将列表拆分为我不想拆分的方式。

EXTRA:让我再补充一点。

列表中的数据是十进制数字。有没有办法当我分开列表时,也可以对数字进行舍入。

f = np.round(float([e.split() for e in d]),2)

这只会给我错误'float()参数必须是字符串或数字'

2 个答案:

答案 0 :(得分:1)

删除zip();列表理解就足够了:

d = [e.split() for e in b]

如果您需要整数,可以使用:

d = [[int(v) for v in e.split()] for e in b]

答案 1 :(得分:0)

如果你坚持使用逗号:

with open('data.txt', 'r') as f:
    d = [",".join(var.rstrip().split()) for var in f.readlines()]
    print(d[0])
    print(d[1])

输出:

123456,123456,123456,234567,234567,4567890
243564,194563,432423,764575,542354,6564536