python - 如何对 csv 文件的 1 列进行排序并打印该行?
问题描述
我的 CSV 文件是这样的。
0.0063,0.0121,band -> mcr music
0.0061,0.0123,band -> mcr
0.0062,0.0122,band -> orchestra
如何对 csv 文件的第一列进行排序并打印每一行?所以,在这种情况下,最终输出应该是
0.0061,0.0123,band -> mcr
0.0062,0.0122,band -> orchestra
0.0063,0.0121,band -> mcr music
解决方案
csv 基本上是一个 python 数组数组(矩阵)。也就是说,您的数据实际上如下所示:
csv = [
[0.0063, 0.0121, 'band -> mcr music'],
[0.0061, 0.0123, 'band -> mcr'],
[0.0062, 0.0122, 'band -> orchestra']
]
然后,您可以将第 i列的排序视为对 tuples 列表进行排序。你会这样做:
csv = sorted(csv, key=lambda x: x[0])
或者,您可以使用数组内置sort
方法进行就地排序:
csv.sort(key=lambda x:x[0])
现在要打印每一行,您可以遍历数组:
for line in csv:
print(line)
要获得原始问题所要求的输出(以 分隔的值,
):
print(','.join(line))
推荐阅读
- elasticsearch - 将 Elasticsearch 2.4 升级到 5.6 后获取快照
- python - 我在测试用例中调用它时没有定义名称,我正在使用 pytest
- javascript - 检索覆盖的计算样式链
- java - 提取 zip 并转换为每个文件的 base 64
- salesforce - FullCalendar V4 上的储物柜服务和工具提示
- angular - 如何使用键盘使 Angular CDK 拖放可访问
- sap - 智能编辑无法编辑页面 emailsignmodal
- function - MPI - 向从其他函数运行的进程发送消息
- javascript - React Table - 访问 Cell 函数中的状态值
- python - Python Kubernetes 客户端:相当于 kubectl get [custom-resource]