Ich lese aus einem Excel-Blatt und ich möchte bestimmte Spalten lesen: Spalte 0, weil es der Zeilenindex ist, und Spalten 22:37. Jetzt hier ist, was ich tue:Wie liest man bestimmte Spalten aus Excel mit Pandas - Python
import pandas as pd
import numpy as np
file_loc = "path.xlsx"
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], parse_cols = 37)
df= pd.concat([df[df.columns[0]], df[df.columns[22:]]], axis=1)
Aber ich würde hoffen, es gibt einen besseren Weg, das zu tun! Ich weiß, wenn ich mache, kann ich es tun, aber für große Datensätze macht das keinen Sinn.
Ich habe auch dieses:
s = pd.Series(0)
s[1]=22
for i in range(2,14):
s[i]=s[i-1]+1
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], parse_cols = s)
Aber es liest die ersten 15 Spalten, die die Länge der s
ist.
Sie eine Liste von cols generieren würde und übergeben diese an 'parse_cols 'z 'parse_cols = [0, 22,23,24 ....., 37]' anstatt, was Sie gerade tun – EdChum
Nicht sicher, warum das nicht funktioniert hat, könnte es ein Fehler sein, was passiert, wenn Sie eine passieren hart codierte Liste: 'df = pd.read_excel (Datei_Loc, Index_Col = Keine, na_Values = ['NA'], ParseCols = [0,22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37) '? – EdChum
@EdChum, Es funktioniert, wenn eine hart codierte Liste übergeben. – Ana