Python对csv文件进行排序

在网上一共看到两种方法:

第一种方法主要参考:pandas 数据排序.sort_index()和.sort_values() - 地球上最后一个直男 - 博客园

需求是针对forall.csv中的第一列进行排序,因为没有命名,所以第一列字段默认为了’Unnamed:0‘。

df_loc = df_loc.sort_values(axis=0, by='Unnamed: 0', ascending=True)
print('df_loc=', df_loc)
df_loc.to_csv('forall',header=True,index=False)

完整的调用方法是:

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

主要有三个参数需要注意一下:
①axis:{0 or ‘index’, 1 or ‘columns’},default 0,默认按照列排序;如果为1,则是按照行排序。
②by:str or list of str;如果axis=0,那么by="列名";如果axis=1,那么by="行名"。
③ascending:布尔型,True则升序,如果by=['列名1','列名2'],则该参数可以是[True, False],即第一字段升序,第二个降序。

第二种方法主要参考:python操作csv文件实现对特定列排序 - 简书

需求是针对forall.csv中的第一列进行排序。

    with open('forall', 'r') as f:
        table = []
        for line in f:
            col = line.split(',')
            col[0] = str(col[0])
            col[1] = col[1].strip("\n")
            table.append(col)
        table_sorted = sorted(table, key=itemgetter(0), reverse=False)  # 精确的按照第1列排序
        for row in table_sorted:
            datas.append(row)
    f.close()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值