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

被折叠的 条评论
为什么被折叠?



