我正在做一个通用的工具,可以接受任何csv文件。我有一个csv文件,看起来像这样。第一行是列名,第二行是变量类型。

Time,M1,M2,M3,CityName
temp,num,num,num,city
20-May-15,19,20,0,aligarh
03-Sep-14,25,42,7,agra
20-Jan-13,23,35,4,aligarh
20-Feb-15,21,32,3,allahabad
12-May-16,17,27,1,aligarh
25-May-16,16,40,5,aligarh

我想根据Python中的日期(从最早到最新)对整个文件进行排序,但找不到出路。

最佳答案

我认为pandas应该有帮助-首先通过MultiIndex将第一个和第二个csv头转换为header=[0,1]并将第一列解析为datetimes,最后sort_values

df = pd.read_csv(file, header=[0,1], parse_dates=[0])
df = df.sort_values(('Time','temp'))
#sort by first column
#df = df.sort_values(df.columns[0])
print (df)
        Time  M1  M2  M3   CityName
        temp num num num       city
2 2013-01-20  23  35   4    aligarh
1 2014-09-03  25  42   7       agra
3 2015-02-20  21  32   3  allahabad
0 2015-05-20  19  20   0    aligarh
4 2016-05-12  17  27   1    aligarh
5 2016-05-25  16  40   5    aligarh

关于python - 根据日期对CSV文件进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49462179/

10-10 12:45