python - 为什么他们在编写 csv 时使用集合?)困惑我
问题描述
遇到了这个主题使用 Python 将结果保存到 csv 文件
我所需要的 - 将 csv 更改写入文件。但。这段代码偷了我的一些行))不合理的数量(而不是代码中的五个)
你能解释一下为什么他们在这个简单的动作中使用集合吗?为什么在这里使用计数器?
Use csv.writer:
import csv
with open('thefile.csv', 'rb') as f:
data = list(csv.reader(f))
import collections
counter = collections.defaultdict(int)
for row in data:
counter[row[0]] += 1
writer = csv.writer(open("/path/to/my/csv/file", 'w'))
for row in data:
if counter[row[0]] >= 4:
writer.writerow(row)
解决方案
这一行
counter = collections.defaultdict(int)
创建一个defaultdict
值是整数的,默认值是零。然后这个位
for row in data:
counter[row[0]] += 1
扫描输入,并计算第一个字段中的值在文件中出现的次数。最后,代码仅输出第一个值至少出现 4 次的那些行。通过使用,这一切都可以缩短一点collections.Counter
,但我不知道十年前是否在标准库中。
推荐阅读
- python - Python (TypeError: 'float' object is not callable)
- javascript - React Native,我将如何在 useEffect 中调用函数
- java - 在 Java 中使用 While 循环控制答案
- google-chrome - hls.js 从 ANDROID mobile(chrome,webview 也)开始,而不是 live ***,但在桌面、ios 中工作得非常好 .. hls.js 1.0.0 2021-04-01
- python - Python stderr 重定向到文件
- kubernetes - 如何在 Kubernetes 服务中将 Session Affinity 设置为“客户端 IP、端口和协议”
- python - 如何更改图表中 x/y 轴标签的颜色?
- bluetooth-lowenergy - BLE:“把手”从何而来?
- python - 如何为pygame添加重力?
- json - 员工组织结构图的 T-SQL 分层 Json 结果