J'ai ce [3526 rows x 5 columns]
DF, où col0
est le temps, col1-col3
sont les étiquettes et col4
est ma valeur.Écrire pandas DF avec des étiquettes à influxdb
0 1 2 3 4
0 2017-09-29 22:41:51 10.2.95.5 C1195_LF470_SARF 0.0.1.1 11993
1 2017-09-29 22:41:37 10.2.52.7 CF643_RCZ70_SARM 0.0.1.16 12102
2 2017-09-29 22:41:39 10.2.102.7 C1345_BQS70_SARF 0.0.1.17 18173
3 2017-09-29 22:41:41 10.2.23.212 CN165_FS470_SAR8 0.0.0.7 23525
4 2017-09-29 22:41:38 10.2.96.4 CF832_UY570_SARM 0.0.1.4 6162
Donc, je veux écrire DF dans influxdb. Je vais le faire ...
timeValues = df[ ['col0','col4'] ]
tags = { 'col1': df[['col1']], 'col2': df[['col2']], 'col3':df[['col3']] }
dbConnDF = DataFrameClient(dbAddress, dbPort, dbUser, dbPassword, dbName)
dbConnDF.write_points(dbName, tbName, timeValues, tags = tags)
Après cela, je reçois l'erreur Must be DataFrame with Datetime or PeriodIndex
.
Cependant, si je le fais d'insérer une ligne par ligne en utilisant cette ...
dbConnQRY = InfluxDBClient(dbAddress, dbPort, dbUser, dbPassword, dbName)
dbConnQRY.write_points(bodyDB)
bodyDB = [{ "measurement": tbName, "tags": { "col1": col1, "col2": col2, "col3": col3 }, "time": col0, "fields": { "col4": col4 } }]
... Je reçois aucune erreur du tout. Donc, le problème apparaît lorsque j'essaie d'insérer le DF entier à la fois.
Comment puis-je dire à influxdb que col0
est mon index pour éviter l'erreur?
Merci!