【发布时间】:2016-12-14 03:57:33
【问题描述】:
我似乎在打印 csv 文件的计数器时遇到了问题。我试过关注Python: Writing Counter to a csv file、How do you write a counter to a file in order? 和Python: Writing a dictionary to a csv file with one line for every 'key: value' 的线程,但似乎我一直在遇到问题。
我的计数器格式如下:
>>> print(daysCounter)
Counter({'03/08/2016': 246, '13/12/2016': 220, '22/01/2016': 198, '20/09/2016': 191})
计数器要大得多,但这给出了格式化的想法。
现在当我尝试使用时(之前已导入 csv):
with open('lifetime_edits.csv', 'wb') as csv_file:
writer = csv.writer(csv_file)
for key, value in daysCounter.items():
writer.writerow([key, value])
我得到错误:
Traceback (most recent call last):
File "contribs.py", line 138, in <module>
lifetime_analysis(data)
File "contribs.py", line 91, in lifetime_analysis
writer.writerow([key, value])
TypeError: a bytes-like object is required, not 'str'
所以我假设我只是没有正确使用某些东西,并且完全无法理解正在发生的事情。如果有人能对我遇到此问题的原因以及可能的解决方法有所了解,我将不胜感激。
请注意,这样做的最终目标是让上述计数器打印到以下格式的文件:
03/08/2016,246
13/12/2016,220
22/01/2016,198
20/09/2016,191
非常感谢您的关注和时间。
【问题讨论】:
标签: python csv dictionary counter