python写csv文件按升序排列_python读取文件csv,先按第4列排序,再按第5列的数值排序...

插入代码:

from operator importitemgetter

input_file= open("PDBhaemoglobinReport.csv")

output_file= open("PDBhaemoglobinSorted.csv","w")

table=[]

header=input_file.readline() #读取并弹出第一行for line ininput_file:

col= line.split(',') #每行分隔为列表,好处理列格式

col[3] = float(col[3][1:-1])

col[4] = int(col[4][1:-2]) #各行没有先strip 末位是\n

table.append(col) #嵌套列表table[[8,8][*,*],...]table_sorted= sorted(table, key=itemgetter(3, 4))#先后按列索引3,4排序

output_file.write(header+ '\t')for row intable_sorted: #遍历读取排序后的嵌套列表

row= [str(x) for x inrow] #转换为字符串格式,好写入文本

output_file.write("\t".join(row) + '\n')

input_file.close()

output_file.close()

附:

PDBhaemoglobinReportcsv内容

PDB ID,Chain ID,Exp. Method,Resolution,Chain Length

"1A4F","A","X-RAY DIFFRACTION","2.00","141"

"1C7C","A","X-RAY DIFFRACTION","1.80","283"

"1CG5","A","X-RAY DIFFRACTION","1.60","141"

"1FAW","A","X-RAY DIFFRACTION","3.09","141"

"1HDA","A","X-RAY DIFFRACTION","2.20","141"

"1IRD","A","X-RAY DIFFRACTION","1.25","141"

"1KFR","A","X-RAY DIFFRACTION","1.85","147"

"1QPW","A","X-RAY DIFFRACTION","1.80","141"

"1SPG","A","X-RAY DIFFRACTION","1.95","144"

"1UX8","A","X-RAY DIFFRACTION","2.15","132"

PDBhaemoglobinSorted.csv :

PDB ID,Chain ID,Exp. Method,Resolution,Chain Length

"2W72""A""X-RAY DIFFRACTION"1.07141

"1IRD""A""X-RAY DIFFRACTION"1.25141

"2H8F""A""X-RAY DIFFRACTION"1.3143

"2WY4""A""X-RAY DIFFRACTION"1.35140

"2D5X""A""X-RAY DIFFRACTION"1.45141

"4ESA""A""X-RAY DIFFRACTION"1.45143

"3VRG""A""X-RAY DIFFRACTION"1.5141

"1CG5""A""X-RAY DIFFRACTION"1.6141

"4HBI""A""X-RAY DIFFRACTION"1.6146

"1QPW""A""X-RAY DIFFRACTION"1.8141

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值