2016-09-26 2 views
1

In Ordnung, so bin ich ziemlich neu, um als Ganzes zu übertreffen und wurde gebeten, ein Skript zu schreiben, um einige Daten aus einer Datenbank zu nehmen und ein Blatt daraus zu machen. Was ich getan habe, jetzt haben sie gebeten, dass ich Graphen hinzufüge, um diese Daten in einem noch einfacheren Format anzuzeigen, weil Sie Umfang und alles wissen. Wie auch immer ich versuche, ein Tortendiagramm zu erstellen, das auf zwei bestimmte Zellen aus einem separaten Blatt verweist, die nicht nebeneinander liegen. Ich kann es bekommen, um einen Bereich von allem zwischen diesen zwei Zellen auszuzeichnen, aber ich brauche es, um nur die Zellen zu verwenden, die ich zur Verfügung stelle.Verwenden von xlsxwriter zum Erstellen von Diagrammen aus angegebenen Zellen

Dies ist, was ich derzeit an Stelle habe, die zwei Punkte erstellt, aber keine Daten in ihnen gefüllt. Ich brauche es, um die Zellen B2 und J2 aus einem Blatt namens Total Counts zu zeichnen. Vielen Dank im Voraus für Ihre Hilfe bei der Rettung meiner Gesundheit.

Bearbeiten: Hinzufügen von mehr Code und zeigt Ausgabe.

#!/usr/bin/python3 

import xlsxwriter 

book = xlsxwriter.Workbook("Testing.xlsx") 

counts = book.add_worksheet("Total Counts") 
r = 0 
c = 0 
counts.write(0, 0, "Total Installed to date") 
counts.write(0, 1, "Installed Yesterday") 
counts.write(0, 2, " Missed Yesterday") 
counts.write(0, 3, "Scheduled Yesterday") 

executive = book.add_worksheet("Executive Summary") 
yesterday_chart = book.add_chart({'type': 'pie'}) 

r += 1 
counts.write(r, c, "100") 
counts.set_column(c, c, len("Total Installed to date")) 
c += 1 
counts.write(r, c, "25") 
counts.set_column(c, c, len("Installed Yesterday")) 
c += 1 
counts.write(r, c, "5") 
counts.set_column(c, c, len("Missed Yesterday")) 
c += 1 
counts.write(r, c, "30") 
counts.set_column(c, c, len("Scheduled Yesterday")) 
c = 0 

yesterday_chart.add_series({'name': 'Yesterdays Installs', 
          'values': "=('Total Counts'!$D$2,'Total Counts'!$B$2)", 
          'points': [ 
           {'fill': {'color': 'green'}}, 
           {'fill': {'color': 'red'}}, 
          ], 
          }) 

executive.insert_chart(0, 0, yesterday_chart) 



book.close() 

Total sheet

Output from graph

Antwort

2

Das Syntax funktionieren sollte. Vielleicht schreiben Sie ein ausführlicheres Arbeitsbeispiel, damit wir sehen können, was das Problem ist.

In der Zwischenzeit, hier ist ein funktionierendes Beispiel:

import xlsxwriter 

workbook = xlsxwriter.Workbook('chart.xlsx') 
worksheet = workbook.add_worksheet('Total Counts') 

# Create a new Chart object. 
chart = workbook.add_chart({'type': 'pie'}) 

# Write some data to add to plot on the chart. 
worksheet.write_column('A1', [2, 4, 6, 8, 10]) 

# Add a data series bases on some points. 
chart.add_series({'values': "=('Total Counts'!$A$1,'Total Counts'!$A$3)"}) 

# Insert the chart into the worksheet. 
worksheet.insert_chart('C3', chart) 

workbook.close() 

Ausgang: enter image description here

+0

Ich habe mehr von dem Code hinzugefügt wie gewünscht und ein Bild angehängt. Ich bin mir wirklich nicht sicher, was ich falsch mache, lol. Danke, dass du es angesehen hast. – leigon

+0

Der von Ihnen gepostete Zusatzcode trägt nicht zur Klärung des Problems bei. Sie müssen ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) wie ich veröffentlichen. – jmcnamara

+0

Aber wenn ich raten müsste, würde ich sagen, dass es keine Daten in den Zellen B2 und J2 gibt. – jmcnamara

Verwandte Themen