首页 > 解决方案 > 导入 csv 文件时列表索引超出范围

问题描述

import csv
with open('teachers.csv', newline='') as f:
    reader = csv.reader(f)
    df = list(reader)

我对熊猫及其功能几乎是新手。我使用如下所示的输入创建了一个 csv 文件: 在此处输入图像描述

在我使用我的变量 df 作为列表后,我得到了这个错误:

回溯(最后一次调用):文件“C:\Users\Umer Naeem\PycharmProjects\pythonProject\main.py”,第 356 行,数据 = Data() 文件“C:\Users\Umer Naeem\PycharmProjects\pythonProject\ main.py",第 39 行,在init course1 = Course("C1", "325k", [self._instructors[0], self._instructors 1 ], 25) IndexError: list index out of range

继承人课程类的代码:

 INSTRUCTORS = df
def __init__(self):
    self._rooms = []
    self._meetingTimes = []
    self._instructors = []
    for i in range(0, len(self.ROOMS)):
        self._rooms.append(Room(self.ROOMS[i][0], self.ROOMS[i][1]))
    for i in range(0, len(self.MEETING_TIMES)):
        self._meetingTimes.append(MeetingTime(self.MEETING_TIMES[i][0], self.MEETING_TIMES[i][1]))
    for i in range(0, len(self.INSTRUCTORS)):
        self._instructors.append(Instructor(self.INSTRUCTORS[i][0], self.INSTRUCTORS[i][1]))

    course1 = Course("C1", "325k", [self._instructors[0], self._instructors[1]], 25)
    course2 = Course("C2", "319k", [self._instructors[0], self._instructors[1], self._instructors[2]], 35)
    course3 = Course("C3", "462k", [self._instructors[0], self._instructors[1]], 25)
    course4 = Course("C4", "464k", [self._instructors[2], self._instructors[3]], 30)
    course5 = Course("C5", "360C", [self._instructors[3]], 35)

标签: pythonpandascsv

解决方案


你不想尝试读取 csv 的 pandas 实现吗?

import pandas as pd
df = pd.read_csv('teachers.csv')

推荐阅读