把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件

大家好,我是皮皮。

一、前言

前几天在Python白银交流群有个叫【大侠】的粉丝问了一个关于Python自动化办公的问题,这里拿出来给大家分享下,一起学习。把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件。

image.png

二、解决过程

【dcpeng】解答

这里给出了一个思路,传统的常规思路,虽然很low,但是可行。

image.png

【德善堂小儿推拿-瑜亮老师】解答

瑜亮老师上来直接丢了代码,简直王炸,这里分享给大家。

import pandas as pd
# 根据你自己的文件设置编码
df = pd.read_csv("test.csv", encoding="gbk")
print(df.head())
# 按照“总价”列降序,并重置索引
# 一列,一种排序方式也可以不写方括号。
# 如果想按照多列排序可以把列名都写进 by 参数列表中,并把它们的排序方式也写进 ascending 参数列表)
df = df.sort_values(by=["总价"], ascending=[False], ignore_index=True)
print(df.head())
# 另存为 test2.csv ,不写入索引
df.to_csv("test2.csv", index=False)

image.png

小伙伴们直呼好家伙,着实给力,都不用百度了。

image.png

下图是【瑜亮老师】学习Python数据分析的时候,看书做的笔记图。

image.png

关键的地方还有笔记,用荧光笔标记了。后来【大侠】自己就上道了。

df.sort_values(col2, ascending=False):按照列col1降序排列数据 
df.sort_values([col1,col2], ascending=[True,False]):先按列col1升序排列,后按col2降序排列数据 

image.png

三、总结

大家好,我是皮皮。这篇文章基于粉丝提问,针对把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv文件的问题,给出了具体说明和演示,顺利帮助粉丝解决了问题,大家也学到了很多知识。

最后感谢粉丝【大侠】提问,感谢【德善堂小儿推拿-瑜亮老师】大佬给出的示例和代码支持,感谢粉丝【孤烟逐云】、【哈佛在等我呢~】、【dcpeng】、【冫马讠成】、【PI】、【沈复】等人参与学习交流。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

posted @ 2022-04-06 11:59  dcpeng  阅读(92)  评论(0编辑  收藏  举报