如何在提取包含多个值的 CSV 文件后构建实例

How to build instances after extracting a CSV file containing multiples values

我正在尝试从包含员工并从静态方法中提取的 CSV 文件创建 class 员工的多个实例。从现在开始,我可以获得这些员工的列表,但我想要的是立即将这些值分配给实例变量。

这是我的代码:

class 雇员():

nums_of_employees = 0

def __init__(self, name, last, salary):

    self.name = name
    self.last = last
    self.salary = salary
    Employees.nums_of_employees +=1

def data(self):
    print(f'Name: {self.name} LastName: {self.last} Salary: {self.salary}')

@staticmethod
def extract_csv():
    new_emp = []
    with open('Employees.csv', 'r') as data_file:
        csv_data = csv.DictReader(data_file)
        next(csv_data)

        for line in csv_data:
            new_emp += line['Name'], line['Last'], line['Salary']

        return new_emp

假设 Employee 接收 3 个参数(name、last 和 salary),你可以替换

new_emp += (line['Name'], line['Last'], line['Salary'])

new_emp.append(Employee(line['Name'], line['Last'], line['Salary']))

为您迭代的每一行创建一个新的 Employee 实例并将其附加到 new_emp 列表。

希望这对您有所帮助。

您可以使用 pandas.DataFrame.sample 提取行式数据。

这是上面link官方文档中的例子

生成示例系列

>>> s = pd.Series(np.random.randn(50))
>>> s.head()
0   -0.038497
1    1.820773
2   -0.972766
3   -1.598270
4   -1.095526

从系列中提取 3 个随机元素:

>>> s.sample(n=3)
27   -0.994689
55   -1.049016
67   -0.224565
dtype: float64

您也可以在 pandas 的 DataFrame 上使用它来提取整行中的元素。