如何使用python从文本文件中提取所有-1和1

时间:2018-05-16 23:22:31

标签: python

我有一个文本文件,其格式如下:

  

train_00000.png -1   train_00001.png -1   train_00002.png 1   train_00003.png 1   train_00004.png -1   train_00005.png -1   train_00006.png 1   train_00007.png 1   train_00008.png -1   train_00009.png -1   train_00010.png -1   train_00011.png 1   train_00012.png -1   train_00013.png 1   train_00014.png -1   train_00015.png -1   train_00016.png -1   train_00017.png -1   train_00018.png -1   train_00019.png -1   train_00020.png -1   train_00021.png 1   train_00022.png 1   train_00023.png -1   train_00024.png 1   train_00025.png -1   train_00026.png 1   train_00027.png 1   train_00028.png 1   train_00029.png 1   train_00030.png -1   train_00031.png 1

我试图从这个文本文件中提取所有-1和1,然后使用python将它们列在一个数组中。我是python的新手,并且正在努力实现一个方法来实现这个目标。谁能帮我这个?提前谢谢!

编辑:很抱歉没有明白这个问题。我的目的是从文本文件中提取所有-1和1(不是图像名称中包含的1,即" train_00001.png中的1&# 34;不应该提取)并将这些-1和1放入一个新的数组中。所以我的输出数组应该是[-1,-1,1,1,-1,-1 ...]。我为我原来的问题中的含糊不清道歉,但非常感谢你的回答!

1 个答案:

答案 0 :(得分:1)

获取所有文件内容并使用分隔空格循环遍历它。

ones = []
for i in file_con.split():
  try:
    num = int(i)
    ones.append(num)
  except:
    pass

这将获得任何数字输入。如果只想解析1或-1,也可以使用if语句。将try语句替换为:

if i == "1":
  ones.append(1)
if i == "-1":
  ones.append(-1)

也许可以用熊猫做到这一点,但我不太了解提供一个好的解决方案。如果你去大熊猫的方式,我建议你阅读一些关于它的文章和文档。