私は、&の辞書を作成して、user_idと同じ辞書を入れてみたいと思います。今私はエラー、ValueError: invalid literal for int() with base 10: '013000ab7C8'
を持っています。 もちろん、 '013000ab7C8'はintではありませんが、なぜこのエラーが発生するのか理解できません。 私はviews.pyValueError:基数10のint()のリテラルが無効です: '013000ab7C8'
#coding:utf-8
from django.shortcuts import render
import xlrd
from .models import User
book = xlrd.open_workbook('../data/excel1.xlsx')
sheet = book.sheet_by_index(1)
def build_employee(employee):
if employee == 'leader':
return 'l'
if employee == 'manager':
return 'm'
if employee == 'others':
return 'o'
for row_index in range(sheet.nrows):
rows = sheet.row_values(row_index)
is_man = rows[4] != ""
emp = build_employee(rows[5])
user = User(user_id=rows[1], name_id=rows[2], name=rows[3],
age=rows[4],man=is_man,employee=emp)
user.save()
files = glob.glob('./user/*.xlsx')
data_dict_key ={}
for x in files:
if "$" not in x:
book3 = xlrd.open_workbook(x)
sheet3 = book3.sheet_by_index(0)
cells = [
]
data_dict = OrderedDict()
for key, rowy, colx in cells:
try:
data_dict[key] = sheet3.cell_value(rowy, colx)
except IndexError:
data_dict[key] = None
if data_dict['user_id'] in data_dict_key:
data_dict_key[data_dict['user_id']].update(data_dict)
continue
data_dict[data_dict_key['user_id']] = data_dict
for row_number, row_data in data_dict_key.items():
user1 = User.filter(user_id=row_data['user_id']).exists()
if user1:
user1.__dict__.update(**data_dict_key)
user1.save()
に書いた私は のuser_idでユーザーのフォルダ& excel1.xlsx下のExcelファイルを接続したい、それはそれぞれのデータが同じのuser_idを持っている場合、それが接続されることを意味します。 data_dict_keyは、私はこの問題を解決する必要がありますどのように?
dicts = {
'013000ab7C8: OrderedDict([
('user_id', '013000ab7C8'),
('name_id', 'Blear'),
('nationality', 'America'),
('domitory', 'A'),
('group', 1),
]),
'088009cd1W9': OrderedDict([
('user_id', '088009cd1W9'),
('name_id', 'Tom'),
('nationality': 'UK'),
('domitory': 'B'),
('group': 18),
])
}
は私のコード何が間違っているのですか?
エラーのスタックトレースを提供してコードに接続できますか? –