Я искал и читал предыдущие вопросы и ответы, похожие на мои, но не нашел подходящего решения для моего дела.Сортировка csv по числовым значениям
У меня есть файл csv с 2 столбцами. Один из них - числовые значения (100, 40, 350 и т. Д.), А другой - список имен тегов изображений (т. Е. Computer.jpg).
Я пытаюсь сортировать файл по первому столбцу (т. Е. Значениям) по возрастанию. Это также означает, что я хочу, чтобы пара значений (имя изображения) двигалась соответственно с ним.
Это то, что я до сих пор:
import csv
import operator
sample=open('random.csv', "r")
csv1=csv.reader(sample, delimiter='.')
header=next(csv1, None)
sort= sorted(csv1, key=operator.itemgetter(0))
with open('randomized.csv', "wb") as f:
csv_writer=csv.writer(f, delimiter='.')
if header:
csv_writer.writerow(header)
csv_writer.writerows(sort)
Приведенное отсортированный список, однако, как это: 100, 175, 20, 250, 3.
Я пробовал другие коды, например:
sort=csv1.sort(key=lambda row: row[0], reverse=True)
Но я получаю ошибку обратно: AttributeError: «_csv.reader» объект не имеет атрибута «рода»
я прочитал о один вариант, который для преобразования чисел в строки до сортировки, а затем преобразование они возвращаются к номерам перед записью файла, но на самом деле не имеют инструментов для этого.
Кто-нибудь знает, как это сделать?
Можете ли вы привести пример файла или его фиктивную версию. – Marcin
Не удалось загрузить и отредактировать мое сообщение (не хватает репутации). Но вот ссылка: http: //s12.postimg.org/zfbjsa6ul/Screenshot_2015_03_28_at_17_11_05.png – HBS