У меня есть такая колонка.
Streptococcus
Ecoli
Bcoli
Ecoli
streptococcus
Streptococcus
Mycobacterium
Ecoli
Мне нужен такой файл (который включает в себя все уникальные значения и соответствующие им значения)
Streptococcus 3
Ecoli 3
Bcoli 1
Mycobacterium 1
Может кто-нибудь помочь с получением его в Ubuntu 12.04?
Используя вид и uniq,
$ sort f | uniq -ci | awk '{print $2,$1}'
Bcoli 1
Ecoli 3
Mycobacterium 1
streptococcus 3
Принятие каждого объекта появляется на другой строке, вот решение для Python. Конечно, можно записать результат в файл вместо того, чтобы печатать его.
#!/usr/bin/env python
sourcefile = "/path/to/sourcefile"
with open(sourcefile, "r") as germ:
germ = [item.lower().replace("\n", "") for item in germ.readlines()]
for item in sorted(set(germ)):
print item.title(), germ.count(item)
это дает:
Bcoli 1
Ecoli 3
Mycobacterium 1
Streptococcus 3
Для использования это
вставляет код выше в пустом текстовом файле, сохраняет его как get_uniques.py
, делает его исполняемым файлом (по причинам удобства, таким образом, Вы не должны вводить язык, если Вы выполняете его), и выполните его в окне терминала командой:
/path/to/get_uniques.py
В случае, если требуется записать его в файл непосредственно
Использование код ниже:
#!/usr/bin/env python
sourcefile = "/path/to/sourcefile"
destfile = "/path/to/destinationfile"
with open(sourcefile, "r") as germ:
germ = [item.lower().replace("\n", "") for item in germ.readlines()]
with open(destfile, "wt") as germcount:
for item in sorted(set(germ)):
germcount.write(item.title()+" "+str(germ.count(item))+"\n")