【问题标题】:How to sort a csv file by rows after it has been imported onto python将csv文件导入python后如何按行对其进行排序
【发布时间】:2013-12-12 00:19:43
【问题描述】:

csv 文件有 18 列和 45000 行。它是使用这些代码导入的(它包含特殊字符)

import csv

with open('airports.csv', newline='', encoding='utf-8') as file:
    for row in csv.reader(file):
        print(row)

如何按列排序?
我可以查看的任何示例代码或参考资料将不胜感激。

【问题讨论】:

  • 拥有 45,000 列的表有意义吗?还是您的意思是 45,000 行?
  • sorted 内置函数
  • 它有 45, 000 条垂直线和 18 条水平线来明确我的错误我纠正了它
  • 您想如何对它们进行排序?
  • 按类别列

标签: python sorting csv python-3.x


【解决方案1】:

Python Sorting HOW TO 有一些很好的信息。如果您将 CSV 文件的内容放入列表中,则可以使用其中记录的技术。

【讨论】:

    【解决方案2】:

    使用zip:

    import csv
    
    with open('airports.csv', newline='', encoding='utf-8') as file:
        rows = [r for r in csv.reader(file)]
    
    columns = zip(*rows)
    

    例子:

    行 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

    对于行中的行:打印(行)

    列 = zip(*行)

    对于列中的列:打印(列)

    试一试

    【讨论】:

    • 这是如何对它们进行排序的?
    • 试一试,zip(*x) 返回一个用于 x 转置的迭代器。所以你可以逐列而不是逐行。
    • 我知道 zip 的作用。转置 x 与排序不同。
    • 好的,那么,需要更多关于“按列排序”意味着什么的信息
    • 我认为转置的意思是this,尽管我认为抽象地它可以被认为是一种序列排序/整理操作。
    猜你喜欢
    • 1970-01-01
    • 2021-06-02
    • 2015-10-29
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 2013-01-23
    • 2015-12-24
    • 2021-09-07
    相关资源
    最近更新 更多