#python #openpyxl
#python #openpyxl
Вопрос:
Я хочу использовать Openpyxl для открытия файла xlsx. Перебирайте все ячейки в строке A и и их в класс объектов с именем «Students» одну за другой.
Openpyxl открывает файл — работает Класс «студенты» определен — работает при запросе возвращает правильную максимальную строку — работает
Я знаю, что мне нужно создать цикл, который перебирает строки, чтобы добраться до последней, но я не уверен, как к ней подойти.
что-то вроде:
for row in rows:
Student(student_id = 'A(whatever the row number is).value)
increase row number by one
Комментарии:
1. Это другой вопрос, чем #55631079
2. да, я немного изменил его, так как думал, что за него проголосовали так сильно, что я сделал что-то ужасно неправильное, поэтому я изменил свой код и выровнял его по потоку. Переполнение стека раньше было таким приятным сообществом для начинающих … теперь оно кажется довольно враждебным
3. Если это тот же вопрос, вам следует изменить первоначальный вопрос и уточнить, где вам нужна помощь.
4. его не видно выше
Ответ №1:
Этот способ был намного лучше. Отключите Openpyxl, откройте его из файла csv. В файле csv у меня есть строки с каждым отдельным битом информации в столбцах A, B, C, D, E
например. A1 = Поттер, Гарри B1 = Поттер C1 = Гарри … и т. Д
import csv
#sorts all the student data into a class
class Students():
def __init__(self,student_id, first_name,second_name,student_parent,parent_email):
self.student_id = student_id
self.first_name = first_name
self.second_name = second_name
self.student_parent = student_parent
self.parent_email = parent_email
def __repr__(self):
return self.student_id " " self.first_name " " self.second_name " " self.student_parent " " self.parent_email
student_list = []
#opens the csv file, takes out the information and saves them in the Student Class
student_file = open('student_list.csv')
student_file_reader = csv.reader(student_file)
for row in student_file:
row_string = str(row)
row_parts1,row_parts2,row_parts3,row_parts4,row_parts5 = row_string.split(',')
student_list.append(Students(row_parts1,row_parts2,row_parts3,row_parts4,row_parts5))
… и вот оно, все в форме объектов в списке идеально.