当前位置: 首页 > 面试题库 >

如何使用Python在同一CSV文件中打印某些字符串的占用率?

杨腾
2023-03-14
问题内容

我有一个CSV文件,其中包含一列(column1)。我想检查单元格中的元素是否重复以及重复多少次(occcurance_count),然后使用Python在同一CSV文件中打印出现次数。
在下面的示例中,“ 241682-27638-USD-OCOF”没有重复,因此计数为1,“ 241942-37190-USD-
DIV”重复了两次,因此计数为2,依此类推。

想要以下CSV格式的输出

column1                  ,occcurance_count

1682-27638-USD-OGGCOF ,1

241682-27638-USD-OGGINT ,1

241682-27638-USD-CIGGNT ,1

241682-27638-USD-OCGGINT ,1

241942-37190-USD-GGDIV ,2

241942-37190-USD-CHYOF ,1

241942-37190-USD-EQPL ,1

241942-37190-USD-INT ,1

242066-15343-USD-CYJOF ,3

242066-15343-USD-CYJOF ,3

242066-15343-USD-CYJOF ,3

242066-15343-USD-ETHQPL ,1

242066-15343-USD-INFRT ,1

241942-37190-USD-GGDIV ,2

242066-33492-USD-CJHOF ,1

问题答案:

我认为以下是您正在寻找的代码。逻辑很简单,但也更长。关于逻辑的解释:首先,您需要打开csv文件进行读取并列出列表中的所有元素,然后使用列表计数方法找出每个列表项的出现次数,打开新的csv文件并写入项目并为每个项目计数。

当然可以有一种优化方法来完成相同的事情,但是这里的代码很快就会出现。

    import csv
    import sys

    try :
        fr = open("mycsv.csv")
        fw = open("mscsv_counter.csv", "w")
    except:
        print "Couldn't open the file"

    reader = csv.reader(fr)

    counterlist = list()
    for row in reader :
     #   print row
         if len(row) > 0 :
            counterlist.append(row[0])
    #for item in counterlist :
    #    print counterlist.count(item)

    writer = csv.writer(fw)
    data = ["column 1", "counter"]
    writer.writerow(data)
    for item in counterlist :
        rowdata = [item, counterlist.count(item)]
     #   print rowdata
        writer.writerow(rowdata)

    fr.close();
    fw.close();


 类似资料:
  • 问题内容: 给我 : 我想打印输出: 问题答案: 你需要将{{和加倍}}: 这是Python文档中有关格式字符串语法的相关部分: 格式字符串包含用花括号括起来的“替换字段” 。花括号中不包含的所有内容均视为文字文本,该文本原样复制到输出中。如果需要在文字文本中包含大括号字符,可以通过加倍:{{和来对其进行转义。

  • 我正在使用python计算如果一个孩子每7秒出生一次,5年内会有多少个孩子出生。问题在我的最后一行。当我将文本打印到变量的任一侧时,如何使变量工作? 这是我的密码:

  • 问题内容: 我正在使用python算出,如果一个孩子每7秒出生一次,那么5年内将有多少个孩子出生。问题出在我的最后一行。当我在文本的任何一边打印文本时,如何使它工作? 这是我的代码: 问题答案: 使用分隔字符串和变量,同时打印: in print功能将项目分隔为一个空格: 或更好地使用字符串格式: 字符串格式化功能更强大,它还允许您执行其他一些操作,例如填充,填充,对齐,宽度,设置精度等。 演示:

  • 问题内容: 如何使用Python(而不是任何外部工具)漂亮地打印CSV文件? 例如,我有这个CSV文件: 我想将其转换为可视化的表格。例如,类似这样的内容: 问题答案: 用法: pretty.pretty_file( filename , options )** 读取CSV文件并将数据作为表格直观地打印到新文件中。 filename ,是给定的CSV文件。可选的** options 关键字参数是P

  • 问题内容: 所以,我有这个问题。我得到了元组(1,2,3),应该使用字符串格式进行打印。例如。 这应该打印带有括号的元组表示形式,例如 这是一个元组(1,2,3) 但是我得到了。 我到底该怎么做?Kinda在这里输了,所以如果你们能指出我正确的方向:) 问题答案: 以目标元组为唯一项(即零件)来制作单例元组是这里的关键。

  • 问题内容: 打印列表中元素之前的“ u”?我没有在代码中键入u。 当我运行此命令时,它将打印列表,但其格式如下: 那些“ u”来自列表中每个元素的位置? 问题答案: 我认为您实际上对此感到惊讶的是,打印单个字符串与打印字符串列表的功能不同–无论是否为Unicode,这都是事实: 即使没有,您也有多余的引号,更不用说反斜杠转义了。而且,如果您使用字节字符串而不是字符串尝试相同的操作,那么您仍然会使用