Programmieren – die neusten Beiträge

bestimmte Excel Inputs mit Python auswählen und in eine andere Excel-Datei einfügen?

Hallo zusammen,

ich würde gerne etwas Neues mit Python ausprobieren. Es geht um eine Excel-Datei, aus der ich bestimmte Einträge in eine andere Excel-Datei einfügen möchte. Wie ihr sehen könnt, möchte ich die Einträge, die einen Farbnamen enthalten, in eine andere Datei in Klammern einfügen und den Farbnamen übersetzt davor schreiben. Haben Sie eine Idee, wie ich das machen kann? Ich wäre Ihnen für jede Antwort dankbar.

import openpyxl
from openpyxl import Workbook, load_workbook
book = openpyxl.load_workbook('datei.xlsx')

result = 1
valuesK = []
i = 1

while result <= 101;
	pages = 'Sheet' + str(i)
	sheet = book.get_sheet_by_name(Sheet1)
	vK = sheet['G1': 'G2259']

	for row in vK:
		for cell in row:
			if blue in cell:
			valuesK.append('Blau (' + cell.value + ')')
			elif red in cell:
				valuesK.append('Rot (' + cell.value + ')')
			elif grey in cell:
				valuesK.append('Grau (' + cell.value + ')')
			elif black in cell:
				valuesK.append('Schwarz (' + cell.value + ')')
			elif white in cell:
				valuesK.append('Weiß (' + cell.value + ')')
			elif offwhite in cell:
				valuesK.append('Elfenbein (' + cell.value + ')')
			elif brown in cell:
				valuesK.append('Braun (' + cell.value + ')')
			elif beige in cell:
				valuesK.append('Beige (' + cell.value + ')')
			elif pink in cell:
				valuesK.append('Pink (' + cell.value + ')')
			elif yellow in cell:
				valuesK.append('Gelb (' + cell.value + ')')
			elif orange in cell:
				valuesK.append('Orange (' + cell.value + ')')
			elif green in cell:
				valuesK.append('Grün (' + cell.value + ')')
			elif turquoise in cell:
				valuesK.append('Türkis (' + cell.value + ')')
			elif purple in cell:
				valuesK.append('Violett (' + cell.value + ')')
			elif gold in cell:
				valuesK.append('Gold (' + cell.value + ')')
			elif silver in cell:
				valuesK.append('Orange (' + cell.value + ')')
			else:
				valuesK.append('Multicolour (' + cell.value + ')')



	i += 1
	result +=1

	wb = Workbook()
	ws = wb.active

	filename='dosya'

	i = 0
	for i in valuesK:
		j += 1
		ws['A' + str(j)] = i
		int(j)

wb.save('datei2.xlsx')
Computer, Microsoft Excel, programmieren, Code, Informatik, Programmiersprache, Python, Softwareentwicklung, Python 3, Data Science

Wie kann ich Werte in einer XML-Datei mit PowerShell ändern?

Hallo, ich möchte in folgender XML-Datei die drei Werte hinter "Dailylimit_Running", "GoSmall_Running" und "GoLarge_Running" mittels PowerShell jeweils auf 0 setzen.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <userSettings>
    <R_Go_Break.Properties.Settings>
      <setting name="Start_On_Boot" serializeAs="String">
        <value>True</value>
      </setting>
      <setting name="Check_For_Updates" serializeAs="String">
        <value>True</value>
      </setting>
      <setting name="Dailylimit_Running" serializeAs="String">
        <value>959</value>
      </setting>
       <setting name="UpdateSettings" serializeAs="String">
        <value>False</value>
      </setting>
      <setting name="GoSmall_Running" serializeAs="String">
        <value>99</value>
      </setting>
      <setting name="GoLarge_Running" serializeAs="String">
        <value>3578</value>
      </setting>
      <setting name="Restarting" serializeAs="String">
        <value>False</value>
      </setting>
      <setting name="RestartingWindowMode" serializeAs="String">
        <value>1</value>
      </setting>
    </R_Go_Break.Properties.Settings>
  </userSettings>
</configuration>

Das Ganze ist ein Auszug aus der config-Datei der R-Go Break App, welche bei mir aus unerfindlichen Gründen die täglichen Arbeitszeitzähler nicht auf null zurücksetzt.

Das würde ich nun gerne mittels PowerShell-Skript manuell erledigen.
Einfach die komplette Datei zu ersetzen ist keine Option, da auch andere Zähler darin gespeichert werden.

Nebenbei bemerkt finde ich es recht mies entwickelt, dass die Zähler dieser App jede Sekunde in der Log-Datei aktualisiert werden. Das hätte man auch ohne sekündliche Schreibzugriffe auf die HDD lösen können.

Computer, programmieren, XML, Spiele und Gaming

Mechatronik-Ingenieurwesen? Erfahrungen?

Moin,

ich beschäftige mich momentan mit möglichen Studiengängen, die ich eventuell angehen möchte. Maschinenbauingenieurwesen fand ich sehr interessant, doch gleichzeitig auch Computer Science (CS).

Bei Maschinenbau gefällt mir das Arbeiten an physischen Dingen (z.B. Robotern, Autos o.ä.), jedoch habe ich auch viel Spaß am Programmieren und dieser Studiengang behandelt dieses Thema leider nicht so stark.
Bei CS gibt es natürlich eine Menge programmieren, aber leider nicht viel handwerkliches Arbeiten.

Nach langem rumsuchen im Internet bin ich auf Mechatronikingenieurwesen gestoßen.
So wie ich es verstanden habe, handelt es sich bei diesem Studiengang um eine Mischung aus Maschinenbauingenieurwesen, Elektroingenieurswesen und CS.

Also würde ich dementsprechend sowohl handwerklich arbeiten und gleichzeitig programmieren können? Oder habe ich einen falschen Eindruck von dem Studiengang?
Werden diese Art von Ingenieure viel gebraucht?
Hättet jemand eventuell Erfahrung in dem Bereich oder studiert das Fach?
Und weiß jemand zufällig, welche Ingenieure sich mit der Entwicklung von Prothesen beschäftigen?

Falls jemand eine oder mehrer meiner Fragen beantworten kann, würde ich mich sehr über eine Rückmeldung freuen.

Vielen Dank im Voraus,

Lotte

Beruf, Studium, programmieren, Bauingenieurwesen, CS, Ingenieur, Ingenieurwesen, Mechatronik, Prothese, Universität, elektroingenieur, Computer Science

C# mehrere Einstiegspunkte definiert?

Hallo ich habe eine Frage zu meiner nachgecodeten Lotterie. Wenn ich sie ausführen will steht dort, dass mehrere Einstiegspunkte definiert sind.

using System;
using System.Linq;


namespace ConsoleApp564
{
    class Program
    {
        public static void Main(string[] args)
        {
            Random Zufallszahl = new Random();
            int lösung1 = Convert.ToInt32(Zufallszahl.Next(1, 49));
            int lösung2 = Convert.ToInt32(Zufallszahl.Next(1, 49));
            int lösung3 = Convert.ToInt32(Zufallszahl.Next(1, 49));


            int[] lösung = new int[3] { lösung1, lösung2, lösung3 };
            Array.Sort(lösung);


            int zahl1;
            int zahl2;
            int zahl3;


            Console.WriteLine("Wilkommen in der Lotterie");
            Console.Write("Geben sie ihre erste Zahl eine, diese muss zwischen 1 und 49 liegen: ");
            zahl1 = Convert.ToInt32(Console.ReadLine());


            if (zahl1 <= 49 && zahl1 >= 1)
            {
                Console.Write("Geben sie ihre zweite Zahl ein, diese muss zwischen 1 und 49 liegen: ");
                zahl2 = Convert.ToInt32(Console.ReadLine());


                if (zahl2 <= 49 && zahl2 >= 1)
                {
                    Console.Write("Geben sie ihre dritte Zahl ein, diese muss zwischen 1 und 49 liegen: ");
                    zahl3 = Convert.ToInt32(Console.ReadLine());


                    if (zahl3 <= 49 && zahl3 >= 1)
                    {
                        int[] number = new int[3] { zahl1, zahl2, zahl3 };
                        Array.Sort(lösung);
                        if ((Enumerable.SequenceEqual(lösung, number)))
                        {
                            Console.WriteLine("Sie haben gewonnen!");
                        }
                        else
                            Console.WriteLine("Sie haben verloren die Lösungzahlen waren " + lösung1 + ", " + lösung2 + " und " + lösung3 + ". Sie haben " + zahl1 + ", " + zahl2 + " und " + zahl3 + " getippt.");
                    }
                }
                else
                {
                    Console.WriteLine("Die Zahl muss zwischen 1 und 49 liegen!");
                    return;
                }
            }
        }
    }


}


Computer, Schule, Programm, programmieren

C#: Wie kann ich Arrays vergleichen?

Hallo,

ich bin sehr neu im Programmieren, habe hier eine Lotterie nachgecodet:

using System
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp2
{
  class Program
  {
    static void Main(string[] args)
    {
      Random Zufallszahl = new Random();
      int lösung1 = Convert.ToInt32(Zufallszahl.Next(1, 49));
      int lösung2 = Convert.ToInt32(Zufallszahl.Next(1, 49));
      int lösung3 = Convert.ToInt32(Zufallszahl.Next(1, 49));

      int[] lösung = new int[3] { lösung1, lösung2, lösung3 };
      Array.Sort(lösung);

      int zahl1;
      int zahl2;
      int zahl3;

      Console.WriteLine("Wilkommen in der Lotterie");
      Console.Write("Geben sie ihre erste Zahl eine, diese muss zwischen 1 und 49 liegen: ");
      zahl1 = Convert.ToInt32(Console.ReadLine());

      if (zahl1 <= 49 && zahl1 >= 1)
      {
        Console.Write("Geben sie ihre zweite Zahl ein, diese muss zwischen 1 und 49 liegen: ");
        zahl2 = Convert.ToInt32(Console.ReadLine());

        if (zahl1 <= 49 && zahl1 >= 1)
        {
          Console.Write("Geben sie ihre dritte Zahl ein, diese muss zwischen 1 und 49 liegen: ");
          zahl3 = Convert.ToInt32(Console.ReadLine());
          
          if (zahl1 <= 49 && zahl1 >= 1)
          {
            int[] number = new int[3] { zahl1, zahl2, zahl3 };
            Array.Sort(lösung);
            bool isEqual = Enumerable.SequenceEqual(lösung, number);
          }
        }
        else
        {
          Console.WriteLine("Die Zahl muss zwischen 1 und 49 liegen!");
          return;
        }
      }
    }
  }
}

und habe eine Frage.

Dort wo

bool isEqual = Enumerable.SequenceEqual(lösung, number);

steht, probiere ich die Listen "lösung" und "number" miteinander zu vergleichen und falls sie gleich sind, einen Text anzeigen zu lassen. Doch vor diesen Befehl kann ich leider kein if setzen.

LG

Computer, Schule, programmieren

Kann mir jemand hier helfen Java?

Du möchtest ein Programm schreiben, dass dir aus den drei Noten, die du für eine Schularbeit, einen Test und die Mitarbeit bekommst, die Gesamtnote ausrechnet. Mathematisch bietet sich hier ein Mittelwert der Noten oder der häufigste Wert, der vorkommt, an. Du möchtest beide Noten ausgeben um bei Unklarheiten die nötige Argumentation dem Lehrer gegenüber zu haben.

1.          *            Erstelle ein Projekt MyGrade und in diesem Projekt eine Klasse Grades.

2.          *            Implementiere drei Objektvariablen, je eine für die Note der Schularbeit (gradeSchoolWork),                    die Note für den Test (gradeTest) und die Note der Mitarbeit (gradeParticipationInClass).

3.          *            Erstelle für die Instanzvariablen einen Konstruktor, in dem die drei Noten durch Übergabe-                           parameter festgelegt werden.

4.          *            Erstelle je eine get-Methode für die drei Instanzmethoden.

5.          *            Erstelle eine Methode, die den Mittelwert dieser drei Noten berechnet und diesen Wert als              Integer zurückgibt. Runde in der Methode das Ergebnis der Berechnung auf Ganze. Bei                                    einem Wert von größer gleich 3,5 wird die schlechtere Note – also 4 – zurückgegeben                                    ansonsten die bessere – also 3.

7.          *            Erstelle eine Instanz der Klasse in der Mainmethode und gib das(die) Ergebnis(se) in der                      folgenden Form aus.

Kann mir jemand hier helfen bitte habe zwar die ersten 3 Punkte gemacht aber komme ab da nicht mehr weiter, zudem bin ich mir nicht mal sicher ob die ersten 3 richtig sind und ob es funktioniert.

Das habe ich bis jetzt.

Bild zum Beitrag
Computer, Schule, programmieren, Java, Informatik

Batch Schleife in Schleife, was mache ich falsch?

Moin,

ich versuche über einen bekannten Dateinamen von zwei Dateien den jeweiligen Überordner mit Pfad als Variable zu speichern.

Dazu fiel mir nur ein die gesuchte Datei temporär umzubenennen, einen Ordner mit dem Namen zu erstellen und in diesen mit CD zu wechseln.
Dann kann ich mit cd.. eine Ordnerebene zurückspringen und habe den gesuchten Pfad.

Nun muss ich noch den Pfad als Variable speichern.
%cd% gibt leider nicht den aktuellen Pfad sondern den Pfad vor begin der ersten Schleife aus.

Meine Alternatividee war:

for /f %%i in ('cd') do Set drv="%%i"

jedoch bleibt die Variable "drv" leer...

Hat jemand eine Idee?

 @echo off


REM 			suche nach Treiber .inf Dateien mit "oem" im Namen um den richtigen Pfad zu finden.
REM			dabei steht %%a für den Pfad zur .inf Datei.
for /f "delims=" %%a in ('dir "*oem*" /a-d /b /s ^| findstr.exe /l /i /c:.inf') do (




REM 			Trick um die richtigen Ordner als Pfad zu speichern:
REM 			zunächst umbenennen der .inf Datei in temp.tmp (später zurück benannt.)
ren "%%a" temp.tmp

REM 			Erstellen eines Ordners mit dem Namen der .Inf Datei.
mkdir "%%a"

REM 			welchseln in diesen Ordner und einen Schritt zurück gehen in den Überordner mit cd..
cd "%%a"
cd ..

REM			den Pfad des überordners als Variable "drv" speichern.
for /f %%i in ('cd') do Set drv="%%i"
echo variable cd ist %cd%
echo variable drv ist %drv%
REM						Hier ist der Fehler, dies klappt nicht.
pause
cls

REM			löschen des Ordners mit dem Namen der .inf Datei.
rd "%%a"
REM			umbenennen rückgängig machen.
ren temp.tmp "%%a"
Oh Gott, Oh Gott was machst du da. Mach das ganz anders! 100%
Der Weg zur Lösung ist gut. 0%
Mir fällt ein Besserer ein. Dieser wäre: 0%
Computer, Windows, Technik, IT, programmieren, Batch, cmd, EDV, Informatik, Script, Technologie, Spiele und Gaming

Meistgelesene Beiträge zum Thema Programmieren