我希望有人能帮助我解决以下问题。我有一个包含300000多行数据的tsv文件,我想重新排序。以下简短摘录:
df.write.csv('mycsv.csv')
我想按以下方式重新排序数据。
src dest relationship
CK200 CK201 CK200-CK201
KY305 KY306 KY305-KY306
LM102 LM103 LM102-LM103
KY306 KY305 KY306-KY305
CK201 CK200 CK201-CK200
LM103 LM102 LM103-102
最好的方法是将它存储在散列中并使用'dest'值作为键来使用某种排序吗?
任何帮助将不胜感激!因为从效率的角度来看,我不确定这样做的最好方法。
谢谢, 肖
答案 0 :(得分:1)
# Original data
cat foo.tsv
src dest relationship
CK200 CK201 CK200-CK201
KY305 KY306 KY305-KY306
LM102 LM103 LM102-LM103
KY306 KY305 KY306-KY305
CK201 CK200 CK201-CK200
LM103 LM102 LM103-102
# Store the header info
head -n 1 foo.tsv > foo_sorted.tsv
# Sort the remainder, starting at line 2, and append to foo_sorted.tsv
tail -n +2 foo.tsv | sort >> foo_sorted.tsv
# Show the result
cat foo_sorted.tsv
src dest relationship
CK200 CK201 CK200-CK201
CK201 CK200 CK201-CK200
KY305 KY306 KY305-KY306
KY306 KY305 KY306-KY305
LM102 LM103 LM102-LM103
LM103 LM102 LM103-102