csvkit - 使用 csvkit 对多列进行排序,某些列倒序
问题描述
我正在使用csvsort
from csvkit对我的 csv 数据进行排序。我想根据两列进行排序,其中一列应该是相反的顺序。那可能吗?
例如:
echo 'v1,v2,v3
a,1,z
b,3,x
c,2,y
a,2,y
b,1,x
c,3,z' | csvsort -c1,2 |csvlook
给
| v1 | v2 | v3 |
| -- | -- | -- |
| a | 1 | z |
| a | 2 | y |
| b | 1 | x |
| b | 3 | x |
| c | 2 | y |
| c | 3 | z |,
但我想要
| v1 | v2 | v3 |
| -- | -- | -- |
| a | 2 | z |
| a | 1 | y |
| b | 3 | x |
| b | 1 | x |
| c | 3 | y |
| c | 2 | z |.
csvsort -r -c1,2
颠倒两列的顺序。csvsort -rc 1 -c 2
仅在第 2 列上排序(相反,与 相同csvsort -rc 2
)。
解决方案
使用 csvkit 的方式是
csvsql --query "select * from input order by v1, v2 desc" input.csv
它给了你
v1 v2 v3
a 2 y
a 1 z
b 3 x
b 1 x
c 3 z
c 2 y
推荐阅读
- browser - 创建像 Grammarly 这样的 Chrome 扩展程序
- regex - Golang 正则表达式与 `ReplaceAllString` 的多个匹配项
- visual-studio - 编辑并继续在 Xamarin 上不起作用
- javascript - 如何减少 Web 应用程序中的资产大小
- angular - 在搜索结果中悬停时显示文本和图像
- ios - 如何使用 UIPageViewController 实现像 iOS Photos 应用一样的照片滑动?
- java - 组件对象为空,该对象由自动装配注释使用
- postgresql - Cloud SQL - PostgreSQL - 如何导入 .csv 文件?
- python - 将 pandas to_sql 与 vertica-python 一起使用时出现块大小/数据类型映射的问题
- highcharts - 如何不从 X 轴的开头放置图表