我有一些文本文件包含可變列號,由\t
(製表符)分隔。類似這樣的:Python - 確定字符串的頻率和進一步處理
value1x1 . . . . . . value1xn
. . . . . . . value2xn
. . . . . . . .
valuemx1 . . . . . . valuemxn
我可以掃描並通過下面的代碼確定值的頻率;這
f2 = open("out_freq.txt", 'w')
f = open("input_raw",'r')
whole_content = (f.read())
list_content = whole_content.split()
dict = {}
for one_word in list_content:
dict[one_word] = 0
for one_word in list_content:
dict[one_word] += 1
a = str(sorted(dict.items(),key=func))
f2.write(a)
f2.close()
和輸出如下:
這('26047', 13), ('42810', 13), ('61080', 13), ('106395', 13), ('102395', 13)...
語法是('value', occurence_number)
,它按預期工作。我想實現的是:
要轉換輸出語法如下:
('value', occurrence_number, column_number)
其中列數是發生在input_raw.txt這個值要使用同一組值的列數出現的次數來分隔欄並將它們寫入不同的文件
什麼'collections.Counter'? – squiguy 2013-04-27 17:01:35
如果您想跟蹤有關列的信息*爲什麼*您不是逐行讀取文件或者至少逐行處理內容?另外,如果同一個鍵在不同列中出現多次,會發生什麼情況? – Bakuriu 2013-04-27 17:02:22
for line in「input_raw」 if search_string in line: 我用這個表達式逐行讀取,但是如果找到search_string,它會退出掃描當前行。對於相同的search_string在不同列的input_raw中找到的情況,這不起作用。 – y33t 2013-04-27 17:07:18