基本上我正在尝试按照csv文件的第4列进行排序并计算唯一出现次数。我已经用下面的bash完成了这个:是否有一种pythonic方法来实现这个目标?
$ cat myfile.csv
a,t,f,5
f,b,j,5
f,d,p,4
d,t,l,4
f,k,y,2
g,k,t,2
j,r,f,1
l,g,h,2
g,g,k,5
r,k,k,1
$ awk -F , '{print $4}' myfile.csv | sort | uniq -c
2 1
3 2
2 4
3 5
答案 0 :(得分:0)
为此,我打开文件并创建一个列表,其中包含每行第四列的值。
一旦我有了这个列表,我就会遍历它,打印列表中唯一值和每个唯一值的计数。
接下来,我将确保不重复任何值,并按顺序打印值。为此,我使用了set()
和sorted()
内置的python函数。
我写的代码看起来像这样,其中****
是文件名。
myFile = open(****,'r')
myValues = [value.split(',')[3] for value in myFile.readlines()]
for uniqueValue in sorted(set(myValues)):
print "%s : %s" % (uniqueValue,myValues.count(uniqueValue)
myFile.close()
在此处详细了解set()
,sorted()
和其他内置python函数:https://docs.python.org/2/library/functions.html。
您可以更改文档左上角的python版本。