【问题标题】:How to sort number in a row?如何对连续的数字进行排序?
【发布时间】:2018-06-20 07:24:28
【问题描述】:

有人可以帮我按分隔符对连续数字进行排序吗?我想使用 sort 或 awk,但我不熟悉它们

猫值.csv:

36;21;9;32;16;48
47;2;44;17;26;32
44;2;24;43;20;33
13;6;42;12;19;28
10;3;34;30;35;40
35;22;17;28;24;23

我期望这些值:

9;16;21;32;36;48
2;17;26;32;44;47
2;20;24;33;43;44
6;12;13;19;28;42
3;10;30;34;35;40
17;22;23;24;28;35

【问题讨论】:

  • 由于您甚至没有提及您要使用的任何技术,我只能假设您想将其打印在一张纸上,将其切成几行,然后对其进行排序……那么,什么你对这个相当小学级别的任务有什么确切的问题......? // 说真的,请阅读How to Ask,然后相应地编辑您的问题!
  • 您好真的很抱歉。我在时间压力下创建了这个任务:(我会编辑它..

标签: csv sorting


【解决方案1】:

好吧,我做到了:)

首先通过 sed 替换;对于 ,

然后:

while read line; do 
    tr , $'\n' < <(printf -- "%s" "$line") | sort -g | tr $'\n' , | sed 's/,$/\n/';
done < values.csv

【讨论】:

    【解决方案2】:
    with open('values.csv', 'r') as file:
       for line in file.read():
          print(sorted(list(map(int, line))))
    

    这里我们首先你逐行读取文件然后 拆分并使所有项目成为整数并对它们进行排序VOILA

    【讨论】:

      猜你喜欢
      • 2021-08-25
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多