Seite 1 von 1
Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Dienstag 18. April 2017, 12:51
von sports7
Hallo liebe Community,
ich lasse mir ein Histogramm plotten und speichere dieses als .png-Datei ab. Nun möchte ich, dass der Dateiname sowie die Überschrift des Histogramms automatisch den Namen des ausgelesen Excel-Files, das zur Erstellung des Histogramms, annimmt. Gibt es dafür einen Befehl?
Vielen Dank für eure Hilfe!
Viele Grüße
sports17
Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Dienstag 18. April 2017, 13:03
von __deets__
Ja. Musst du nur an der richtigen Stelle einsetzen.
Im Ernst - glaubst du, man kann dir helfen, wenn du weder Code zeigst, noch in irgendeinem nennenswerte Umfang darauf eingehst, wie du vorgehst?
Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Dienstag 18. April 2017, 13:55
von BlackJack
Ich hätte ja „nein“ geantwortet — automatisch geht das nicht, das muss man schon ausprogrammieren. Sollte aber einfach sein.

Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Dienstag 18. April 2017, 14:48
von sports7
Code: Alles auswählen
import os
import csv
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import pylab as py
import xlsxwriter
#Define input and output path
inputPathExpl = r"C\Programme\Beispiel"
inputPath = inputPathExpl.replace("\\", "/")
outputPathExpl = r"C:\Programme\Beipsiel\Test"
outputPath = outputPathExpl.replace("\\", "/")
filename = "beispiel.csv"
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_xlabel("Zeit")
ax1.set_ylabel("Weg")
ax1.set_ylim([0, 1])
ax1.tick_params("y", colors = "b")
ax1.grid()
yAx1 = gaussFunc()
plt.plot(x, yAx1, color="orange")
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc=0)
plt.savefig(outputPath + "/beipsiel.png", bbox_inches="tight", dpi=plotResol)
Das beispiel als Dateiname soll eben nun an filename ohne das .csv-Dateiendung angepasst werden. Außerdem soll der Titel ebenfalls den Filename ohne Dateiendung erhalten.
Kann jemand weiterhelfen?
Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Dienstag 18. April 2017, 15:05
von __deets__
Code: Alles auswählen
name = os.path.splitext(os.path.basename(filename))[0]
png_name = os.path.join(basedir, "{}.png".format(name))
Und den namen kannst du auch als Titel des Plots festlegen, siehe zB
http://stackoverflow.com/questions/1244 ... matplotlib
Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Dienstag 18. April 2017, 15:33
von sports7
Ich habe versucht deine genannten Befehle zu verwenden, leider ohne Erfolg. An welcher Stelle muss ich diese denn im Code hinkopieren?
Danke schon im Voraus für deine Hilfe!
VG
Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Mittwoch 19. April 2017, 12:32
von sports7
Bei mir kommt als Fehlermeldung, dass "basedir" nicht definiert ist. Was mache ich falsch?
Re: Dateiname und Überschrift dynamisch an Dateiname anpassen
Verfasst: Mittwoch 19. April 2017, 12:46
von Sirius3
@sports7: __deets_ Zeilen sind nur ein Beispiel, die Dich auf die Funktionen aus os.path, insbesondere os.path.splitext, basename und join. Am besten Du liest Dir dazu die Dokumentation durch und überlegst, wie man sie für Dein Problem anwenden kann.