首页 > 解决方案 > 将单元格值从 xlsx 导入到所有行的 python 变量

问题描述

我想使用 Openpyxl 打开一个 xlsx 文件。循环遍历 A 行中的所有单元格,并将它们逐个循环到一个名为“学生”的对象类。

Openpyxl 打开文件 - 工作类“学生”定义 - 查询时工作返回正确的最大行 - 工作

我知道我需要创建一个循环,循环遍历行以到达最后一个,但我不知道如何处理它。

类似于:

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

标签: pythonopenpyxl

解决方案


这种方式好多了。抛弃 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))

......你有它,所有的信息都在一个完美的列表中的对象中。


推荐阅读