Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tabellenzeilen in txt-Datei zusammenfassen

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich hoffe ihr könnt mir mit einem vermutlich relativ simplen Problem weiterhelfen, was mir eine Menge STRG+C / STRG+V Arbeit ersparen würde^^

(vielleicht ist der Weg über Excel auch möglich/leichter)

Ich habe eine Tabelle als .txt-Datei, die z.B. so aussieht:

--------------------------------------- 

|Materialnr.  | Kommentar             | 

--------------------------------------- 

|123.456-78   |$ Kommentar $ Kommentar| 

|123.456-78   |$ Kommentar            | 

|123.456-78   |$ Kommentar $ Kommentar| 

|543.982-44   |$ Kommentar            | 

|543.982-44   |$ Kommentar $ Kommentar| 

|876.543-21   |$ Kommentar            | 

|876.543-21   |$ Kommentar            | 

|876.543-21   |$ Kommentar            | 

--------------------------------------- 
Das Problem hierbei ist, dass die Kommentare (inklusive Dollarzeichen $) zur selben Materialnr. alle in einer Zeile hintereinander stehen sollen, sodass jede Materialnr. nur 1-Mal vorkommt. Die überflüssigen, leeren Zeilen sollen dann gelöscht werden, also etwa so:
--------------------------------------------------------------------------- 

|Materialnr.  | Kommentar                                                 | 

--------------------------------------------------------------------------- 

|123.456-78   |$ Kommentar $ Kommentar $ Kommentar $ Kommentar $ Kommentar| 

|543.982-44   |$ Kommentar $ Kommentar $ Kommentar                        | 

|876.543-21   |$ Kommentar $ Kommentar $ Kommentar                        | 

--------------------------------------------------------------------------- 

Ich kenne mich leider mit Programmierung nicht aus, aber ich vermute einfach, dass es sich doch um keine wirklich aufwändige Programmierarbeit handeln sollte, den Vorgang automatisch ablaufen zu lassen oder?

Vielleicht ist es ein bisschen viel verlangt (ich kann nur grob einschätzen, wie viel Arbeit es wohl machen dürfte), aber könnte mir jemand bitte einen Programmcode aufschreiben, der die Kommentare inklusive Dollarzeichen bei gleicher Materialnummer in die selbe Zeile (hintereinander mit Leerzeichen) bringt? Wenn die leeren Zeilen (Kommentarspalte) dann auch noch gelöscht würden, wäre das natürlich optimal :)

Sieht die textfile genau so aus? Also stimme die Trennstriche (Pipes) und Anzahl der Leerzeichen?

Ok, das ist hier mal meine Lösung. Vielleicht nicht elegant, aber es funktioniert. Ich hab jetzt auch nur die Daten einbezogen. Die Kopfzeile der Tabelle musst selbst einfügen. Als Basis habe ich genau Deine Tabelle (tabelle.txt) benutzt. Als neue Tabelle ensteht tabelleNEW.txt. Wenn die anders aussieht, muss eventuell der Code angepasst werden. Iss mit Perl unter Linux realisiert. Wenn es also mit Windows machen willst, musst die erste Zeile anpassen und ggf. noch activePerl o.ä. installieren. Oder einfach auf ner Linux VM ausführen.

#!/usr/bin/perl


open (IN, "<tabelle.txt"); #muss je nach Dateiname angepasst werden


my @daten = <IN>;

my %hash=();


foreach (@daten)

	{	

		my @split = split(/\|/,$_);

		$split[1] =~ s/\s+//g;

		$split[2] =~ s/\s+/ /g;


		$hash{$split[1]}.=$split[2];

	}


my @sortierteSchluessel = sort keys %hash;


open(OUT, ">>tabelleNEW.txt");

foreach (@sortierteSchluessel)


	{

		print OUT "|$_    |$hash{$_}|\n";

	}

Bearbeitet von Kadauz

edit: Dieses Thema hat meiner Meinung nach in Windows nichts verloren. IM Programmierforum isses besser aufgehoben.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.