gpt4 book ai didi

python - 使用 sorted() 在 Python 中对 csv 文件进行排序返回程序员 DESC 顺序的值,而不是时间 DESC 顺序

转载 作者:行者123 更新时间:2023-11-28 23:05:25 32 4
gpt4 key购买 nike

我认为我没有做任何过于复杂的事情。我正在对一个大型 csv 数据文件进行预排序,因为它充满了按随机时间顺序到达的数据。索引正确,但返回格式不正确。

    sortedList=sorted(reader,key=operator.itemgetter(1))

所以不要像 [-100 -10 -1 0 10 100 5000 6000] 这样排序;我得到 [-1 -10 -100 0 100 5000 60]

我尝试了 lambda 函数示例和 itemgetter,但我真的不知道从那里去哪里。

感谢您的帮助。

我的问题的答案在评论中。数值被排序为字符串而不是数字。我不知道我可以在 sorted() 中指定键的数据类型。此代码按我的预期工作:

    sortedList=sorted(reader,key=lambda x:float(x[1]))

最佳答案

从您在那里看到的输出来看,这些似乎被排序为字符串而不是数字。

所以你可以这样做:

sortedList=sorted(reader, key=lambda t: int( t[1] ))

sortedList=sorted(reader, key=lambda t: float( t[1] ))

或者更好的是,尝试确保序列 reader 在创建时用数字而不是字符串填充,也许使用 QUOTE_NONNUMERIC 作为读取器的 fmtparam(参见 http://docs.python.org/library/csv.html#csv.QUOTE_NONNUMERIC )。

关于python - 使用 sorted() 在 Python 中对 csv 文件进行排序返回程序员 DESC 顺序的值,而不是时间 DESC 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6193536/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com