Hallo
ich finde keine Lösung zu folgendem Problem
ich habe eine Exceldatei mit 2065 Spalten, über den Header finde ich alle Spalten wunderbar - nur mit dem Datum habe ich das Problem, das es die Spalte mit der Bezeichnung 'von' 4x in der Datei gibt. Natürlich mit unterschiedlichen Inhalt.
Ich brauche nur die dritte Spalte mit den Werten 'von' … (Typ Datum)
ds = pd.read_csv("daten\\meinedatei.txt", sep=";", Header=0,encoding="ISO-8859-1")
print (ds.loc[ :, {'von', 'kurz', 'tage' }])
geht super, nur es ist immer die erste Spalte mit dem Wert 'von'
Die Versuche mit :
print (ds.loc[ :, {'von'[3], 'kurz', 'tage' }]) .. usw. bringen nichts
Ich könnte die Spalte davor finden und dann eine Spalte weiterspringen ..
print (ds.loc[ :, {'spaltevorvon'+1, 'kurz', 'tage' }]) .. auch nichts
Wäre froh über eine Lösung/Idee
Panda - CSV Datei Spalte lesen +1
einfach alle Spalten mit gleichem Namen unbenennen:
Code: Alles auswählen
columns = []
count = 1
for column in ds.columns:
if column == 'von':
column = f'von_{count}'
count += 1
columns.append(column)
ds.columns = columns
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 13077
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Alternative mit `itertools.count()`:
Code: Alles auswählen
import itertools
counter = itertools.count(1)
ds.columns = [
(f'von_{next(counter)}' if column == 'von' else column)
for column in ds.columns
]
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Hallo,
hast du es mal mit
probiert?
Gib im listenähnlichen Format deine Spaltennummer an. Beginne die Zählung bei "0".
Gruß
Jo
hast du es mal mit
Code: Alles auswählen
ds = pd.read_csv("daten\\meinedatei.txt", sep=";", Header=0,encoding="ISO-8859-1",usecols=[0,1,2])
Gib im listenähnlichen Format deine Spaltennummer an. Beginne die Zählung bei "0".
Gruß
Jo