python - 带有csv输入的Python类__init__?
问题描述
假设我在 Python 中定义了一个类,它看起来像这样。
class myclass:
def __init__(self, filename):
with open(filename, 'r') as read_obj:
csv_reader = reader(read_obj)
header = next(csv_reader)
if header != None:
for row in csv_reader:
self.a = row[0]
self.b = row[1]
我应该如何更改,__init__
以便在传递具有多行的 csv 文件时,它将生成包含所有行信息的 myclass 对象?
例如,我的 test.csv 文件如下所示:
['a1','b1']
['a2','b2']
然后当我调用它时:
mc = myclass('test.csv')
mc 将包含 self.a = ['a1','a2'] 和 self.b = ['b1','b2']
解决方案
这些属性应该是列表,然后在循环中附加到它们。
class myclass:
def __init__(self, filename):
self.a = []
self.b = []
with open(filename, 'r') as read_obj:
csv_reader = reader(read_obj)
header = next(csv_reader)
if header != None:
for row in csv_reader:
self.a.append(row[0])
self.b.append(row[1])
推荐阅读
- c - 检查一个数字是否包含在另一个数字中的程序
- ruby-on-rails - 显示喜欢特定帖子的所有用户的用户名
- java - 在 JAVA 中使用 gson 从/向 Json 读取/写入不同对象的数组列表
- javascript - 将 jquery 函数转换为 Javascript 函数
- apache-kafka - 为什么我必须使用 Kafka Streams 配置状态存储
- javascript - 我在以下代码中不断收到错误“canvasContext.fillRect”
- r - lhs包中的geneticLHS函数
- go - 如何列出特定 Go 包下的所有子包?
- node.js - GET 请求错误:postData.posts.map 不是函数
- spring-boot - Spring Security - 身份验证后响应中的错误 CSRF 令牌