我正在尝试找到一种方法,可以基于一列对csv文件进行排序,而无需使用内置的排序方式。我一直在用一个插入排序程序弄乱它,但是我很迷路。这是到目前为止我得到的:
def insertSort(fileobj,colno):
sline = line.split(',')
l=0
for line in fileobj:
l += 1
for i in range(2,l):
thisline = fileobj.split(",")[i]
key = thisline[colno]
j = i-1
temp = fileobj.split(",")[j]
lastline = temp[colno]
while j>=1 and key < lastline:
fileobj[j+1]=fileobj[j]
j -= 1
fileobj[j+1] = key
colno将是您要排序的列的索引,并假设第一行是标题。我是python的新手,所以我缺少基本的东西吗?将csv转换为字典并更改我的方法会更容易吗?
编辑:忘记提及fileobj将是已打开的文件,并且将readlines()分配给fileobj