J'ai essayé de générer des données dans Excel. J'ai généré le fichier .csv. Donc, jusqu'à ce point, c'est facile. Mais la génération de graphique est assez difficile dans Excel ... P>
Je me demande, est-ce que Python est capable de générer des données et un graphique dans Excel? S'il y a des exemples ou des extraits de code, n'hésitez pas à poster :) p>
ou une solution de contournement peut être utilisée python pour générer un graphique dans le format graphique, comme le fichier .jpg, etc ou .pdf est également correct, car la solution de contournement n'a pas besoin de dépendance telle que la nécessité d'installer Boost Bibliothèque. p>
5 Réponses :
Je vous suggère d'essayer GNUPLOT lors du dessin du graphe à partir de fichiers de données. P>
Vous avez 2 options:
Si vous êtes sous Windows, vous pouvez utiliser pywin32 ( Inclus dans bibliothèque ActivePyTHon ) pour automatiser Excel en utilisant OLE Automation . P>
from win32com.client import Dispatch ex = Dispatch("Excel.Application") # you can use the ex object to invoke Excel methods etc.
Si vous décidez d'utiliser matplotlib, consultez mon Excel à Python Class Pyworks pour obtenir les données. Il vous permet de récupérer des données efficacement et facilement comme des tableaux numpus (le type de données natif de matplotlib). P>
@david Gao, je cherche faire quelque chose de similaire. À l'heure actuelle, je cherche à utiliser le CSV cru ou à la convertir en JSON et à vous laisser tomber dans un dossier en cours de lecture par JQPLOT. JQuery Traçage et bibliothèque graphique . Ensuite, tout ce que je dois faire, c'est avoir l'utilisateur ou moi-même afficher l'intrigue dans n'importe quel navigateur Web. P>
Oui, xlsxwriter [ docs ] [ PYPI ] a beaucoup d'utilité pour créer Excel Graphiques en Python. Toutefois, vous devrez utiliser le format de fichier XLSX, il n'y a pas beaucoup de commentaires pour les paramètres incorrects et vous ne pouvez pas lire votre sortie.
import xlsxwriter import random # Example data # Try to do as much processing outside of initializing the workbook # Everything beetween Workbook() and close() gets trapped in an exception random_data = [random.random() for _ in range(10)] # Data location inside excel data_start_loc = [0, 0] # xlsxwriter rquires list, no tuple data_end_loc = [data_start_loc[0] + len(random_data), 0] workbook = xlsxwriter.Workbook('file.xlsx') # Charts are independent of worksheets chart = workbook.add_chart({'type': 'line'}) chart.set_y_axis({'name': 'Random jiggly bit values'}) chart.set_x_axis({'name': 'Sequential order'}) chart.set_title({'name': 'Insecure randomly jiggly bits'}) worksheet = workbook.add_worksheet() # A chart requires data to reference data inside excel worksheet.write_column(*data_start_loc, data=random_data) # The chart needs to explicitly reference data chart.add_series({ 'values': [worksheet.name] + data_start_loc + data_end_loc, 'name': "Random data", }) worksheet.insert_chart('B1', chart) workbook.close() # Write to file
Dupliqué possible de Python, OpenOffice: Manipulation de manière programmative des feuilles de calcul
Un peu duplicaté, mais ma question en a davantage.