【发布时间】:2016-02-18 05:17:24
【问题描述】:
我创建了包含字符的 Counter 对象以及这些字符在给定文件中出现的次数。我希望能够以更易读和更有用的格式(例如 CSV)显示这些数据集。
这是一个 Counter 对象示例:
计数器({u'': 10304, u'0': 1630, u'\n': 1516, u'*': 1196, u'.': 1026, u'1':1003,u'A':991,u'E':954,u'9':937,u'S':845,u'R':834, u'T':781,u'O':745,u'2':736,u'F':726,u'4':653,u'N':596, u'C':575,u'3':558,u'L':557,u'5':535,u'I':532,u'8':481, u'7':456,u'6':410,u'P':400,u'\t':388,u'G':377,u'M':327, u'Y':326,u'D':323,u'e':305,u'B':292,u'U':272,u'H':256, u'a':224,u'r':216,u'W':208,u'l':178,u'/':174,u'K':167, u'i':164,u'V':160,u'o':155,u't':155,u'X':153,u'b':134, u'-': 132, u'n': 130, u's': 112, u'$': 97, u'@': 96, u':': 89, u'g': 85,u'c':84,u'Q':75,u'v':75,u'u':71,u'd':69,u'+':68,u'#': 63, u'y': 59, u'h': 58, u'm': 52, u'p': 42, u'Z': 36, u'f': 32, u')': 26, u'(': 26, u'w': 22, u'%': 21, u',': 21, u'!': 17, u'=': 16, u'k': 13, u'J': 12, u'&': 10, u'x': 7, u"'": 6, u'q': 6, u'z': 2})
它类似于字典,但我不知道如何正确提取键、值对,更不用说将它们写入 CSV 文件了。以下代码创建一个 CSV 文件并将计数写入字符列,而根本不将字符写入文件。这是我所得到的。
with open('{}.csv'.format(str(counter_object)), 'w') as csvfile:
fieldnames = ['character', 'count']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for dictionary in counter_object:
for character, count in dictionary.items():
writer.writerow(dict(character=count))
是否有任何协议可以专门以这种方式处理 Counter 对象?
编辑
我看到了这个post here,但尝试该解决方案会导致错误:
for key, count in <counter_object>.items():
AttributeError: 'tuple' object has no attribute 'items'
【问题讨论】:
标签: python csv data-structures counter