очистка данных с помощью Python (для выписки)

1

Изменение: Извините за путаницу всех. Первая версия этого вопроса настолько запутанна, что я решил удалить ее.

Вот мой вопрос снова.

Как перевести список из 10 000 имен учеников (текстовый файл) в список, который можно повторить?

Я изначально сказал словарь, но я действительно имел в виду список, извиняюсь.

  • 0
    я вас не очень понимаю :) «Все они относятся к одному классу», кто такие «Они»? также "эти данные в этих переменных"?
  • 0
    Я тоже немного сбит с толку, мне кажется, что вам нужен многомерный словарь, если только он не увеличивает статистику по классам, тогда вы просто разбили бы CSV на каждую строку (поскольку вы можете определить разделитель) и используете dictionary.has_key("Statistics_1101") и если у него его нет, добавьте его со значением 1, если он есть, увеличьте на 1.
Показать ещё 3 комментария
Теги:

2 ответа

3
Лучший ответ

Предполагая, что каждое имя ученика находится на собственной линии, что и кажется, это так же просто, как

students = open('list-of-students.txt').readlines()

что позволит students быть list всех студентов в файле.

  • 0
    list(open('list-of-students.txt')) также работает. Это вряд ли становится легче, чем это :) Я бы предпочел использовать блок with, чтобы открыть файл.
1

Это сильно зависит от того, что вы хотите сделать.

Но что-то вроде этого должно работать:

with file("filename-with-students.txt") as f:
   for line in f:
       ## now, the name "line" refers to a string containing a line in your file

Первая строка, with file(...) as f, открывает файл и присваивает "файловому дескриптору" имя f. Использование оператора with означает, что он будет автоматически закрыт, когда вы закончите.

Вторая строка, for line in f, использует преимущество, заключающееся в том, что вы можете перебирать файлы по одной строке за раз. Следовательно, вы можете делать все, что хотите, для строки, на которую ссылается line.

  • 0
    Если вы действительно хотите построить список, вы можете просто использовать list(f) . Но это не нужно для итерации :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню