在Python中打印csv文件的计数器时出错
我似乎在将计数器打印到csv文件时遇到问题。我试着遵循这些思路,但似乎我一直在遇到问题 我的计数器格式如下:在Python中打印csv文件的计数器时出错,python,csv,dictionary,counter,Python,Csv,Dictionary,Counter,我似乎在将计数器打印到csv文件时遇到问题。我试着遵循这些思路,但似乎我一直在遇到问题 我的计数器格式如下: >>> print(daysCounter) Counter({'03/08/2016': 246, '13/12/2016': 220, '22/01/2016': 198, '20/09/2016': 191}) 计数器要大得多,但这提供了格式化的概念 现在,当我尝试使用(之前已导入csv)时: 我得到一个错误: Traceback (most recent ca
>>> print(daysCounter)
Counter({'03/08/2016': 246, '13/12/2016': 220, '22/01/2016': 198, '20/09/2016': 191})
计数器要大得多,但这提供了格式化的概念
现在,当我尝试使用(之前已导入csv)时:
我得到一个错误:
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'
非常感谢您的关注和时间
with open('lifetime_edits.csv', 'wb') as csv_file:
这需要字节输入,您使用“b”模式打开文件,只需使用“w”模式,此模式默认输入为str:
打开('lifetime\u edits.csv',w')作为csv\u文件:
推荐方式:
with open('lifetime_edits.csv', 'w', newline='') as csv_file:
如果未指定newline=,则在带引号的字段中嵌入换行符
将无法正确解释,并且在使用的平台上\r\n
将添加一个额外的写入上的linendings\r。指定newline=“”应该总是安全的,因为csv模块有自己的功能
(通用)
换行处理
是的,这解决了问题。谢谢你澄清。我不确定它是否相关,但在这个csv文件中,似乎每行之间都有一条空行。这是正常的行为吗?代码运行良好,我不确定这是否是系统问题,但在文档中,有一种安全的方法可以做到这一点,我更新了代码awesome,这一添加消除了换行符。下次我会把它保存在ind里。谢谢你抽出时间!
with open('lifetime_edits.csv', 'wb') as csv_file:
with open('lifetime_edits.csv', 'w', newline='') as csv_file: