寻找pythonic方式来排序和计数独特的csv文件列

时间:2016-11-03 02:11:26

标签: python-2.7

基本上我正在尝试按照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

1 个答案:

答案 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版本。