我想按日期对 CSV 表进行排序。开始只是一项简单的任务:
import sys
import csv
reader = csv.reader(open("files.csv"), delimiter=";")
for id, path, title, date, author, platform, type, port in reader:
print date
我使用 Python 的 CSV 模块读取具有该结构的文件:
id;file;description;date;author;platform;type;port
- 日期是 ISO-8601,因此我可以很容易地对其进行排序而无需解析:2003-04-22 e。 g.
- 我想按日期排序,最新条目优先
- 如何让这个阅读器进入可排序的数据结构?我想通过一些努力,我可以制作一个日期列表:datelist += date,拆分和排序。但是我必须重新识别 CSV 表中的完整条目。这不仅仅是对事物列表进行排序。
- csv 似乎没有内置排序功能
最佳解决方案是让 CSV 客户端像处理数据库一样处理文件。我没有找到类似的东西。
我希望有人知道这里有一些不错的排序魔法;)
最佳答案
import operator
sortedlist = sorted(reader, key=operator.itemgetter(3), reverse=True)
或使用 lambda
sortedlist = sorted(reader, key=lambda row: row[3], reverse=True)
关于python - 按列对csv进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2100353/