Это функция в flask.
Я загрузил 3 строки данных, только первая строка может отображать числа. Данные Excel:
Загруженные данные:
Функция Реализована загрузка данных из Excel в базу данных. Следующий код может записывать только первую строку данных в базу данных.
код:
@classmethod
def GetTaskA(self, path):
try:
df = pd.read_excel(path, header=0,
names=current_app.config['EXECL_A_INDEX'])
df.drop([0], inplace=True)
df.fillna(" ", inplace=True)
for i in range(len(df)):
form_data = {'a': str(df[i:i + 1]['a'].values[0]),
'b': str(df[i:i + 1]['b'].values[0]),
'c': str(df[i:i + 1]['no'].values[0]),
'd': str(df[i:i + 1]['d'].values[0]),
'e': str(df[i:i + 1]['e'].values[0]),
'f': str(df[i:i + 1]['f'].values[0]),
'g': str(df[i:i + 1]['g'].values[0]),
'h': str(df[i:i + 1]['h'].values[0]),
'i': str(df[i:i + 1]['i'].values[0]),
'j': str(df[i:i + 1]['j'].values[0]),
'k': str(df[i:i + 1]['k'].values[0]),
'l': str(df[i:i + 1]['l'].values[0]),
'm': str(df[i:i + 1]['m'].values[0]),
'n': str(df[i:i + 1]['n'].values[0]),
'o': str(df[i:i + 1]['o'].values[0]),
'p': str(df[i:i + 1]['p'].values[0]),
'q': str(df[i:i + 1]['q'].values[0]),
'r': str(df[i:i + 1]['r'].values[0]),
's': str(df[i:i + 1]['s'].values[0]),
't': str(df[i:i + 1]['t'].values[0]),
'u': str(df[i:i + 1]['u'].values[0]),
'v': str(df[i:i + 1]['v'].values[0]),
'w': str(df[i:i + 1]['w'].values[0]),
'x': str(df[i:i + 1]['x'].values[0]),
'y': str(df[i:i + 1]['y'].values[0]),
'z': str(df[i:i + 1]['z'].values[0]),
'aa': datetime.now()}
with db.auto_commit():
DataA.query.filter_by(c=str(df[i:i + 1]['no'].values[0])).update(form_data)
return True
except Exception as e:
print({"code": "error", "message": "{}".format(e)})
return False
Новые данные должны отображаться в соответствии с c ['no'] field
Надеюсь, это поможет изменить этот код.