импортировать значение ячейки из xlsx в переменную python для всех строк - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу использовать Openpyxl, чтобы открыть файл xlsx. Циклически перебирайте все ячейки в строке A и затем одну за другой по классу объектов «Студенты».

Openpyxl открывает файл - работает Класс "ученики" определен - работает при запросе возвращает правильный максимальный ряд - работает

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

что-то вроде:

for row in rows:
   Student(student_id = 'A(whatever the row number is).value)
   increase row number by one

1 Ответ

0 голосов
/ 12 апреля 2019

Так было намного лучше. Дич 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))

... и вот, у вас все в порядке в объектах в идеальном списке.

...