6
votes

Utilisez Python pour générer un graphique dans Excel

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 ...

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 :)

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.


2 commentaires

Dupliqué possible de Python, OpenOffice: Manipulation de manière programmative des feuilles de calcul


Un peu duplicaté, mais ma question en a davantage.


5 Réponses :


2
votes

Je vous suggère d'essayer GNUPLOT lors du dessin du graphe à partir de fichiers de données.


0 commentaires

3
votes

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.


0 commentaires

1
votes

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).

https://sourceforge.net/projects/pyworkbooks/


0 commentaires

1
votes

@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.


0 commentaires

15
votes

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


0 commentaires