J'ai besoin de vider périodiquement la sortie du client kafka dans un fichier Excel. J'utilise le code suivant:Dump le kafka (kafka-python) dans un fichier txt
from kafka import KafkaConsumer
from kafka import KafkaProducer
import json,time
from xlutils.copy import copy
from xlrd import open_workbook
import pandas
consumer = KafkaConsumer(bootstrap_servers='localhost:9092')
KafkaConsumer()
consumer.subscribe("test")
rowx=0
colx=0
for msg in consumer:
book_ro = open_workbook("twitter.xls")
book = copy(book_ro) # creates a writeable copy
sheet1 = book.get_sheet(0) # get a first sheet
sheet1.write(rowx,colx, msg[6])
book.save("twitter.xls")
Maintenant, mon problème est que le code n'est pas efficace. Pour chaque message, j'ai besoin d'ouvrir, d'écrire, puis de sauvegarder le fichier Excel. Y at-il une approche pour ouvrir l'Excel une fois, écrire, puis le fermer (pour un lot de messages et pas dans la boucle for)? tnx
Pourquoi fermer le fichier? –