Crys
Lt. Commander
- Registriert
- Apr. 2009
- Beiträge
- 1.649
Hallo zusammen,
hier mal Problem, an dem ich schon seit Monaten sitze:
Ich möchte nachfolgendes:
Was ich zuletzte versucht habe:
Wenn Ihr mir weiter helfen könnt ... ein paar Skript fetzten oder etwas was schon tatsächlich lauffähig ist, dann wäre das super genial.
Viele Dank.
hier mal Problem, an dem ich schon seit Monaten sitze:
Ich möchte nachfolgendes:
- csv-Dateien (3-30 Stück) einlesen
- in der ersten (und bei einem Typ zweiten) Spalte steht eine "ID". Die Struktur ist immer anderes (Zahlen, Buchstaben, Minus; fünf bis 20 Ziffern) (groß und klein Buchstaben, deshalb geht das nicht in Excel selbst)
- Dann soll eine neue Liste erstellt werden, mit "alter ID", "alter ID aus zweiter Spalte", und eventuell weiteren IDs ... plus eine neue einmalige ID
- in den csv Dateien das ersetzten aller alter IDs mit den neuen IDs
- Wenn in einer csv-Datei mehere Zellen die selbe ID haben soll der Inhalt der Wert Spalte summiert werden
- abspeichern der csv Dateien als Blätter in einer xslx-Datei (kompribiert, da sonst sehr groß)
Was ich zuletzte versucht habe:
Python:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import xlrd
# manuelles Umwandeln der csv in xlsx
book_pv = xlrd.open_workbook("test.xlsx")
book_heat = xlrd.open_workbook("test2.xlsx")
sh_pv = book_pv.sheet_by_index(0)
sh_heat = book_heat.sheet_by_index(0)
ids_pv = sh_pv.col(0, start_rowx=43)
ids_heat = sh_heat.col(0, start_rowx=22)
ids = ids_pv + ids_heat
import collections, numpy
neu_ids = numpy.array(ids)
from collections import Counter
Counter(ids).keys()
Counter(ids).values()
# feststellen, dass es angeblich jede Spalte nur einmal gibt, obwohl (siehe Beispiel) welche den selben Inhalt haben sollten
Code:
Eingabe -
je eine CSV-Datei:
Tabelle1:
ID, Wert
A1, 15
B1, 23
E1, 14
B1, 3
Tabelle2:
ID, pID, Wert
A1, C1, 10
D1, , 6
E1, C1, 11
Tabelle3:
ID, Wert
G1, 5
E1, 18
C1, 18
G1, 2
Ausgabe -
eine XLSX-Datei:
Blatt1:
ID, Wert
n1, 29
n2, 26
Blatt2:
ID, pID, Wert
n1, 21
n3, 6
Blatt3:
ID, Wert
n4, 7
n1, 36
Wenn Ihr mir weiter helfen könnt ... ein paar Skript fetzten oder etwas was schon tatsächlich lauffähig ist, dann wäre das super genial.
Viele Dank.