сначала большое спасибо за помощь.
Я пытался исправить это с помощью кода, который есть, но, к сожалению, сейчас он не работает из-за других ошибок.
AttributeError: у объекта 'DirectRow' нет атрибута 'append'
Я предполагаю, что это находится в следующей строке кода
row.set_cell(colFamily,
key,
data[key])
Я мог бы предположить, что источник ошибок находится вразделение строки «data»
eda, temperature, bvp, x_acc, y_acc, z_acc, heart_rate, iddevice, timestamp = data.split(',')
Например, eda будет выглядеть так:
"'eda':2.015176"
, что выглядит довольно неправильно для меня.
Особенно, когда я вставляюэто в следующем тексте:
data = {'eda': eda,....}
Ошибка
AttributeError: у объекта 'DirectRow' нет атрибута. 'append', похоже, говорит о том, что существует проблема с даннымиЯ хочу обработать с set_cell. Существует указанная set_cell со строкой в виде списка или любой другой итерируемый экземпляр прямой строки. Разве это не подходит для этого?
Я попробовал обходной путь со списком, но это, кажется, делает его еще хуже.
client = bigtable.Client(project=project_id, admin=True)
instance = client.instance(INSTANCE)
colFamily = "cf1"
def writeToBigTable(table, dat):
row_key = "{}-{}".format(dat[16], dat[17])
row = table.row(row_key)
for n in range(len(dat)):
row.set_cell(colFamily,
dat[n],
dat[n+9])
table.mutate_rows([row])
return dat
def selectTable():
stage = os.environ.get('stage', 'dev')
table_id = TABLE + stage
table = instance.table(table_id)
return table
def main(event, context):
data = base64.b64decode(event['data']).decode('utf-8')
print("DATA: {}".format(data))
var_1, eda, var_2, temperature, var_3, bvp, var_4, x_acc, var_5, y_acc, var_6, z_acc, var_7, heart_rate, var_8, iddevice, var_9, timestamp = data.replace(':',',').split(',')
table = selectTable(); dat = [var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, eda, temperature, bvp, x_acc, y_acc, z_acc, heart_rate, iddevice, timestamp];
# data = {'eda': eda,
# 'temperature': temperature,
# 'bvp': bvp,
# 'x_acc':x_acc,
# 'y_acc':y_acc,
# 'z_acc':z_acc,
# 'heart_rate':heart_rate,
# 'iddevice':iddevice,
# 'timestamp':timestamp}
writeToBigTable(table, dat)
print("Data Written: {}".format(data))
Я очень сильно застрял в этой проблеме и не имею дальнейших идей, какрешить это.