python - 如何基于另一列和冒泡排序对 .csv 列求和(无库(pandas、sort() 等))
问题描述
一个示例 .csv 文件将是(标题:“名称、提供者、剩余月份”)
John,O2,12
Adam,EE,11
Arnold,O2,14
Sarah,Voxi,9
Mitch,EE,4
Kirstie,GiffGaff,10
Elise,Voxi,3
Eleanor,GiffGaff,7
您如何找到每个提供商的剩余总月数?然后按升序列出提供者的总月数?理想情况下使用冒泡排序?
编辑:这没有任何库,没有 sort()、pandas、lambdas 等。
解决方案
只需将您的数据逐行提取到某个结构中,然后拆分,
然后您可以使用参数对结构进行排序key
sort()
lines = []
with open("source.csv") as fh:
for line in fh: # file-likes are iterable by-lines
lines.append(line.split(","))
lines.sort(key=lambda x: x[2]) # sort on the 3rd field, (index 2)
如果您只想要总和,只需继续添加第三个字段,无需对其进行排序
推荐阅读
- c# - 无法创建 SSL/TLS 安全通道。安全通道故障
- azure-devops - 使用 ARM 模板创建 VSTS 帐户时安装扩展
- javascript - 将元素放在文本框上
- javascript - 无法击败“操作必须是普通对象。使用自定义中间件进行异步操作。” 尝试遵循 redux.js.org 教程时出错
- fonts - 有没有办法在 windows 10 bash 下使用 mintty 获得电力线效果?
- fabricjs - FabricJS 2-只有单个路径时在 SVG 路径上设置填充
- javascript - Chart.js Y 轴错误步数
- sql - DBGrid 数据在重新启动应用程序或数据库连接之前不会更新
- django - 如何将 django 中的两个应用程序连接到一个数据库 postgresql
- powershell - TFS-Powershell 脚本