如何将数据从csv获取到python对象中

用户8891420

我是Python初学者。无法以所需的对象格式将数据从csv获取到python中以满足python函数的需要。如果我在python中手动创建了数据(而不是从csv中引入),则以下代码有效:

class Student(object):
   pass

john = Student()
#score tuple
john.score = (85.0, 42.0/2.0)

bob = Student()
bob.score = (45.0, 19.0/2.0)

john.rank = 1
bob.rank = 2

ExternalCode.AdjustStudents([john, bob])

但是,我需要它自动运行,而不必每次都手动键入数据,因为将有成千上万的更新-因此需要能够从csv导入数据。

csv档案格式为:john,85、21、1 bob,45、9.5、2

学生对象将具有得分属性(第2列和第3列为元组)以及排名属性(第4列)。所需的对象格式将与上面的手动代码产生的格式相同。

手册代码产生的所需格式的一个示例是,当我在手册代码之后执行以下打印时:

print(" John: score1={0[0]:.3f} score2={0[1]:.3f}".format(john.skill)) 

我得到这个结果:

约翰:得分1 = 25.000得分2 = 8.333

干杯,

史蒂夫

r

如果我对您的理解正确,那么您在问如何动态创建变量操作globals()字典以创建新变量不是一个好主意,您应该使用列表或字典来存储csv数据。

您似乎需要一个列表,所以:

  1. 定义列表(student_list在下面的示例中)。
  2. 打开csv文件。
  3. 创建一个csv.reader
  4. 遍历行。
  5. 将数字转换为浮点数。
  6. 创建一个Student实例并传递名称和数字。
  7. 最后将此学生实例附加到student_list

因此,如果您的csv文件看起来像这样,

name,score1,score2,rank
john,85,21,1
sarah,72,19,2
bob,45,19,3

试试下面的代码:

import csv


class Student:

    def __init__(self, name, score, rank):
        self.name = name
        self.score = score
        self.rank = rank


student_list = []

with open('temp.csv', newline='') as csv_file:
    reader = csv.reader(csv_file)
    next(reader, None)  # Skip the header.
    # Unpack the row directly in the head of the for loop.
    for name, score1, score2, rank in reader:
        # Convert the numbers to floats.
        score1 = float(score1)
        score2 = float(score2)
        rank = float(rank)
        # Now create the Student instance and append it to the list.
        student_list.append(Student(name, (score1, score2), rank))

# Then do something with the student_list.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数据从json对象获取到python中的字典

使用vuejs,如何将Firebase(vuefire)对象获取到组件数据中

AngularJS:如何将数据获取到对象和数组中?

如何将动态数据获取到KingFisher数组中

如何将数据获取到foxpro中的组合框

如何将数据从SQL数据库获取到存储Blob中以获取参考数据

如何将表单模型中的数据获取到 Django 中的数据库中

如何将数据从FireStore获取到自定义对象然后返回?

如何将$ scope对象获取到角度服务

如何将查询对象获取到felogin存储库?

如何将CSV中的数据读取到嵌套的键值对中以备将来检索?

如何将jQuery返回的值获取到Razor Page中的模型对象的属性

如何将全局环境中的列表数据获取到列表中

如何将MySQL表中的数据获取到Java JTable中?

如何将列表 html 中的数据 ID 获取到 django 模板中的 javascript?

Gatsby + Markdown:如何将特定Markdown文件中的数据获取到单个页面中?

如何将 nlsList 中的系数获取到数据框中?

如何将数据从电子秤中获取到Web应用程序中?

如何将数据提取到同一对象中

如何将数据从.txt文件读取到ArrayList中以创建对象

如何将csv文件数据读取到数组中?

如何将csv格式的数值数据读取到Pandas中

如何将数据关联/获取到jtree节点

如何将数据获取到字符串

如何将数据从servlet获取到JSP页面?

如何将动态查询数据获取到Oracle的CLOB列中

如何将数据库中的列值获取到jLabels

如何将数据从缓冲区高效地获取到PyTorch中的GPU?

如何将Sitecore Analytics数据获取到新的Sitecore实例中