TypeError: 'Cell' object does not support indexing
TypeError: 'Cell' object does not support indexing
我想解析 excel 并将数据放入模型(用户)中。
我收到一个错误,
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/xxx/testapp/app/views.py", line 17, in <module>
is_man = row[4] != ""
TypeError: 'Cell' object does not support indexing
views.py 是
#coding:utf-8
from django.shortcuts import render
import xlrd
from .models import User
book = xlrd.open_workbook('../data/data.xlsx')
sheet = book.sheet_by_index(1)
for row_index in range(sheet.nrows):
rows = sheet.row(row_index)
print(row[1])
for row in rows:
is_man = row[4] != ""
user = User(user_id=row[1], name_id=row[2], age=row[3], man=is_man)
user.save()
我认为行不是单元格而是列表,所以我真的不明白为什么它被称为 'Cell' 以及我应该如何解决这个问题。
我试图解决这个问题,所以将行单元格更改为列表,如
for row_index in range(sheet.nrows):
rows = sheet.row(row_index)
rows = list(rows)
print(rows)
但是,同样的错误 happens.What 我应该如何解决这个问题?
现在,views.py是
#coding:utf-8
from django.shortcuts import render
import xlrd
from .models import User
book = xlrd.open_workbook('../data/data.xlsx')
sheet = book.sheet_by_index(1)
for row_index in range(sheet.nrows):
rows = sheet.row(row_index)
print(rows[1])
for row in rows:
is_man = rows[4] != ""
user = User(user_id=row[1], name_id=row[2], age=row[3], man=is_man)
user.save()
我在print(rows[1])
中看到了数据,所以是
user_id
1
2
3
所以我只能得到user_id data.It不是我理想的数据,我想得到每个用户数据,比如
1 1 40 leader
我试图解决这个问题并重写 print(rows[1][0])
,所以 TypeError: 'Cell' object does not support indexing
错误 happens.How 我应该做我理想的事情吗?
当我输出print(rows[4])
时,就像
text:'man'
empty:''
text:'●'
empty:''
这很自然,因为 excel 数据是
使用 sheet.row_values(row_index, start_col_index, end_col_index[option])
而不是 sheet.row()
因为 sheet.row() returns Cell
对象不是 Cell
值。
希望对您有所帮助。
我想解析 excel 并将数据放入模型(用户)中。 我收到一个错误,
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/xxx/testapp/app/views.py", line 17, in <module>
is_man = row[4] != ""
TypeError: 'Cell' object does not support indexing
views.py 是
#coding:utf-8
from django.shortcuts import render
import xlrd
from .models import User
book = xlrd.open_workbook('../data/data.xlsx')
sheet = book.sheet_by_index(1)
for row_index in range(sheet.nrows):
rows = sheet.row(row_index)
print(row[1])
for row in rows:
is_man = row[4] != ""
user = User(user_id=row[1], name_id=row[2], age=row[3], man=is_man)
user.save()
我认为行不是单元格而是列表,所以我真的不明白为什么它被称为 'Cell' 以及我应该如何解决这个问题。 我试图解决这个问题,所以将行单元格更改为列表,如
for row_index in range(sheet.nrows):
rows = sheet.row(row_index)
rows = list(rows)
print(rows)
但是,同样的错误 happens.What 我应该如何解决这个问题? 现在,views.py是
#coding:utf-8
from django.shortcuts import render
import xlrd
from .models import User
book = xlrd.open_workbook('../data/data.xlsx')
sheet = book.sheet_by_index(1)
for row_index in range(sheet.nrows):
rows = sheet.row(row_index)
print(rows[1])
for row in rows:
is_man = rows[4] != ""
user = User(user_id=row[1], name_id=row[2], age=row[3], man=is_man)
user.save()
我在print(rows[1])
中看到了数据,所以是
user_id
1
2
3
所以我只能得到user_id data.It不是我理想的数据,我想得到每个用户数据,比如
1 1 40 leader
我试图解决这个问题并重写 print(rows[1][0])
,所以 TypeError: 'Cell' object does not support indexing
错误 happens.How 我应该做我理想的事情吗?
当我输出print(rows[4])
时,就像
text:'man'
empty:''
text:'●'
empty:''
这很自然,因为 excel 数据是
使用 sheet.row_values(row_index, start_col_index, end_col_index[option])
而不是 sheet.row()
因为 sheet.row() returns Cell
对象不是 Cell
值。
希望对您有所帮助。