Python对csv文件进行排序

本文介绍了两种对CSV文件中数据进行排序的方法。第一种利用Pandas的sort_values()函数,通过设置axis、by和ascending参数实现按列排序。第二种方法是使用Python内置的sorted()函数结合itemgetter()对CSV文件逐行读取并排序。这两种方法适用于对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()

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值