将文本文件中的数字列表转换为整数

时间:2015-10-08 17:51:26

标签: python

我有一个在文本文件中从左到右阅读的数字列表,我试图让Python将它们作为数字列表读取,以便我最终可以对它们进行图形化。我一直在尝试各种字符串,pickle和字节到字符串代码,但不可避免地会出错。 数字的例子

20494 20461 20461 20459 20464 20470 20478 20483 20487 20486 20486
20486 20484 20481 20479 20475 20473 20473 20473 20470 20470 20471
20475 20478 20481 20481 20480 20479 20475 20473 20472 20471 20470
20468 20468 20467 20467 20466 20470 20474 20480 20483 20481 20480
20481 20485 20487 20487 20485 20482 20481 20479 20477 20474 20474
20475 20477 20479 20476 20469 20467 20473 20478 20487 20487 20476
20477 20488 20490 20484 20483 20480 20486 20494 20497 20495 20492
20485 20498 20530 20530 20502 20502 20522 20536 20525 20520 20549
20560 20503 20499 20584 20607 20518 20478 20525 20542 20490 20472

我试过的代码

with open('r1a disp press') as f:
polyShape = []
for line in f:
    line = line.split()
    if line:
        line = [int(i) for i in line]
        polyShape.append(line)
import pickle
import io
press = io.StringIO()
picklestring = pickle.dump(polyShape, press)
print (pickleString)

我可以打印多边形但是我得到错误"字符串参数预期,得到'字节'"在picklestring之后

3 个答案:

答案 0 :(得分:3)

split和int是你的朋友:

with open(filename) as text:
    numbers = [int(n) for n in text.read().split()]

答案 1 :(得分:0)

如果您愿意,可以复制python代码中的数字以及下面给出的数字:

a="""20494 20461 20461 20459 20464 20470 20478 20483 20487 20486 20486
    20486 20484 20481 20479 20475 20473 20473 20473 20470 20470 20471
    20475 20478 20481 20481 20480 20479 20475 20473 20472 20471 20470
    20468 20468 20467 20467 20466 20470 20474 20480 20483 20481 20480
    20481 20485 20487 20487 20485 20482 20481 20479 20477 20474 20474
    20475 20477 20479 20476 20469 20467 20473 20478 20487 20487 20476
    20477 20488 20490 20484 20483 20480 20486 20494 20497 20495 20492
    20485 20498 20530 20530 20502 20502 20522 20536 20525 20520 20549
    20560 20503 20499 20584 20607 20518 20478 20525 20542 20490 20472"""
    results=a.split()
    results = [int(i) for i in results]
    print results

答案 2 :(得分:0)

修复您发布的代码,首先修复您的缩进。将var oldOuterHeight = $.fn.outerHeight; $.fn.outerHeight = function () { return oldOuterHeight.apply(this, [true]); }; 语句下方的所有内容移至包含comments = Comment.objects.order_by('date') actions = Actions.objects.order_by('date') 行的一行缩进。

接下来,让我们摆脱列表理解,并将其替换为with元素的for循环。在for循环中,将元素转换为int并将其附加到polyShape.append()列表中,如下所示:

line