我有一个带有以下标头的csv文件
question_no,question,A,B,C,D
其中 A、B、C、D 是问题的选项。一个问题的选项数量可能因文件而异(例如 4 - A,B,C,D 6 - A,B,C,D,E,F)。我正在尝试使用以下代码获取行中选项的值。
data = pd.read_csv(request.FILES['myfile'])
optioncodes = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
col_nos = len(data.columns)
opt_lmt = col_nos - 2
for (idx, row) in data.iterrows():
print(row.question_no)
for j in range(opt_lmt):
print(row.optioncodes[j])
但是我收到错误
'Series' object has no attribute 'optioncodes'
我怎样才能做到这一点?
点访问器(df.col_name
或serie.index_value
)只是命名元素访问器(df['col_name']
或serie['index_value']
)的快捷方式。它仅在 2 个条件下有效:
- 名称必须是常量 - 而您希望它是一个变量
- 名称必须是有效的标识符(没有空格或特殊字符)
你在这里想要的只是:
...
for j in range(opt_lmt):
print(row[optioncodes[j]])