Выбор первого значения из данного столбца (без использования панд) - PullRequest
0 голосов
/ 10 мая 2019

У меня есть столбец, который показан ниже:

370
370
370
371
371
371
371
371
371
371
371
371
371
372
372
372

Я хочу выбрать только первое значение для начала числа.Вот код, который я использовал.(Без использования панд).

import os
with open ("file") as data:
    p= list(data)
o=[]
for t in p: 
    k= t.split()
    if k[0] == 'some value':
        if k[4] == 'A':
            o= k[5]

Вывод должен выглядеть примерно так:

370
371
372

Ответы [ 2 ]

1 голос
/ 10 мая 2019

Я рекомендую использовать:

import os
with open("file") as data:
   p = data.read().splitlines()
set(p)

, который возвращает только уникальные значения:

{'370', '371', '372'}

Проблема, с которой вы столкнулись в настоящее время, заключается в том, что вы не просто получаете данные:

import os
with open ("file") as data:
    p= list(data)
p

возвращает данные с символами новой строки:

['370\n',
 '370\n',
 '370\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '371\n',
 '372\n',
 '372\n',
 '372\n']
1 голос
/ 10 мая 2019

Попробуйте что-то вроде:

with open('tmp.txt') as fp:
    # turn it into a set of lines - duplicates are ignored
    nums = set(fp.readlines())
    # remove whitespace around those lines and turn them to integers
    nums = {int(num.strip()) for num in nums}

print(nums)

И прочтите, как использовать комплекты . Они супер полезны!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...