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

点击上方“Python共享之家”,进行关注

回复“资源”即可获赠Python学习资料

日暮汉宫传蜡烛,轻烟散入五侯家。

大家好,我是皮皮。

一、前言

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

73a1c69ab3001f3c8dec46a3127d2864.png

二、解决过程

【dcpeng】解答

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

96abf06129b1aaca286102dae1906666.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)

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

a3650c68e40f5bf8dbbb2d48575c7f7a.png

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

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

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

三、总结

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

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

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

d721f06b8dbe1d0883149f784e0d0fba.png

------------------- End -------------------

往期精彩文章推荐:

4f5bb30a637a349f9ac36eacefaafb55.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【

万水千山总是情,点个【在看】行不行

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值