不使用dict从对象访问python成员
这是我目前遇到一些问题的应用程序的一小部分不使用dict从对象访问python成员,python,arrays,dictionary,Python,Arrays,Dictionary,这是我目前遇到一些问题的应用程序的一小部分 import csv with open('eggs.csv', 'rb') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['first_name'], row['cat']) print(row[1]) 应用程序部分运行良好,没有问题,但我希望通过第I个元素或通过数值从“行”访问每个值 然而,
import csv
with open('eggs.csv', 'rb') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['cat'])
print(row[1])
应用程序部分运行良好,没有问题,但我希望通过第I个元素或通过数值从“行”访问每个值
然而,这似乎并不像预期的那样起作用
是否有一种特定的方式可以访问成员项,而无需直接调用其列名
感谢您的帮助和澄清。csv模块为您提供了两种访问文件每行数据的广泛方式:
DictReader
实例有一个fieldnames
属性,该属性是“一个序列,其元素按顺序与输入数据的字段相关联”,因此要从索引转换为键,您可以使用:
row[reader.fieldnames[1]]
csv
模块为您提供了两种从文件的每一行访问数据的方法:
DictReader
实例有一个fieldnames
属性,该属性是“一个序列,其元素按顺序与输入数据的字段相关联”,因此要从索引转换为键,您可以使用:
row[reader.fieldnames[1]]
不要使用
DictReader()
,如果你想要的只是一个列表列表,那么就使用csv.reader()
我在下面假设你想要同时使用键和索引,但是如果你只想要索引@Jkdc是正确的,就使用reader
。谢谢大家。非常有洞察力,帮助我完成了allot。它稍微高级一些,但您也可以使用csv.reader()
并将每一行转换为一行。这样做的好处是,它允许您通过整数索引或属性引用每一行的内容。对于后者,我的意思是这样的:row.first\u name
和row.cat
。一个可能的缺点是,与字典不同,元组的内容是不能更改的。不要使用DictReader()
,如果您只需要一个列表列表,那么就使用csv.reader()
,我在下面假设您想同时使用键和索引,但如果您只希望索引@Jkdc是正确的,只需使用阅读器
。谢谢各位。非常有洞察力,帮助我完成了allot。它稍微高级一些,但您也可以使用csv.reader()
并将每一行转换为一行。这样做的好处是,它允许您通过整数索引或属性引用每一行的内容。对于后者,我的意思是这样的:row.first\u name
和row.cat
。一个可能的缺点是,与字典不同,元组的内容是不能更改的。这正是我想要的。感谢您的澄清和回答!这正是我要找的。感谢您的澄清和回答!