[英]How to sort a csv file without headers using python?
如何使用python pandas对没有标题的csv文件进行排序? 注意:csv文件没有标题。
我的档案:
1,a123,adam,student
2,b345,becky,student
3,c678,charles,teacher
1,d987,dickson,teacher
2,e654,evanston,teacher
预期产量:
1,a123,adam,student
1,d987,dickson,teacher
2,b345,becky,student
2,e654,evanston,teacher
3,c678,charles,teacher
使用read_csv
与参数names
为新列名Dataframe
,然后DataFrame.sort_values
:
import pandas as pd
temp=u"""1,a123,adam,student
2,b345,becky,student
3,c678,charles,teacher
1,d987,dickson,teacher
2,e654,evanston,teacher"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), names=['a','b','c','d'])
print (df)
a b c d
0 1 a123 adam student
1 2 b345 becky student
2 3 c678 charles teacher
3 1 d987 dickson teacher
4 2 e654 evanston teacher
df = df.sort_values('a')
print (df)
a b c d
0 1 a123 adam student
3 1 d987 dickson teacher
1 2 b345 becky student
4 2 e654 evanston teacher
2 3 c678 charles teacher
或使用header=None
作为默认列名称RangeIndex
:
df = pd.read_csv(pd.compat.StringIO(temp), header=None)
print (df)
0 1 2 3
0 1 a123 adam student
1 2 b345 becky student
2 3 c678 charles teacher
3 1 d987 dickson teacher
4 2 e654 evanston teacher
df = df.sort_values(0)
print (df)
0 1 2 3
0 1 a123 adam student
3 1 d987 dickson teacher
1 2 b345 becky student
4 2 e654 evanston teacher
2 3 c678 charles teacher
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.