Umordnungsspalten in CSV

Die Frage wurde bereits gestellt, aber die Anforderungen wurden nicht ordnungsgemäß vermittelt. Ich habe eine csv-Datei mit mehr als 1000 Spalten:

ABCD .... XYZ 1 0 0.5 5 .... 1 7 6 2 0 0.6 4 .... 0 7 6 3 0 0.7 3 .... 1 7 6 4 0 0.8 2 .... 0 7 6 

Hier sind X, Y und Z die 999, 1000, 10001 Spalte und A, B, C, D sind die 1., 2., 3. und 4.. Ich muss die Spalten so umordnen, dass es mir folgendes gibt.

 DYZABC ....X 5 7 6 1 0 0.5 ....1 4 7 6 2 0 0.6 ....0 3 7 6 3 0 0.7 ....1 2 7 6 4 0 0.8 ....0 

Das ist die 4. Spalte wird die 1., 1000 und 1001. Spalte wird 2. und 3. und die anderen Spalten werden entsprechend entsprechend verschoben.

  • Konvertieren einer Liste / Tupel von int-Strings zu int
  • Wie kann ich die Daten der n-ten Zeile mit Pandas umformen?
  • Wie überspringen Sie Pre-Kopfzeilen mit csv.DictReader?
  • Wie man eine einzelne Zeile csv String ohne den csv.reader Iterator in Python zu analysieren?
  • Konvertiere alle csv-Dateien von der Verschlüsselung von ansi zu utf8 mit python
  • ValueError: I / O-Operation auf geschlossener Datei
  • 2 Solutions collect form web for “Umordnungsspalten in CSV”

    Also die Frage ist, wie Sie Ihre Spalten in einer benutzerdefinierten Weise neu ordnen.

    Zum Beispiel haben Sie die folgenden DF und Sie möchten Ihre Spalten auf folgende Weise (Indizes) neu anordnen:

    5, 3, Rest …

    DF

     In [82]: df Out[82]: ABCDEFG 0 1 0 0.5 5 1 7 6 1 2 0 0.6 4 0 7 6 2 3 0 0.7 3 1 7 6 3 4 0 0.8 2 0 7 6 

    Spalten

     In [83]: cols = df.columns.tolist() In [84]: cols Out[84]: ['A', 'B', 'C', 'D', 'E', 'F', 'G'] 

    Nachbestellt:

     In [88]: cols = [cols.pop(5)] + [cols.pop(3)] + cols In [89]: cols Out[89]: ['F', 'D', 'A', 'B', 'C', 'E', 'G'] In [90]: df[cols] Out[90]: FDABCEG 0 7 5 1 0 0.5 1 6 1 7 4 2 0 0.6 0 6 2 7 3 3 0 0.7 1 6 3 7 2 4 0 0.8 0 6 
     In [4]: df Out[4]: ABCDXYZ 0 1 0 0.5 5 1 7 6 1 2 0 0.6 4 0 7 6 2 3 0 0.7 3 1 7 6 3 4 0 0.8 2 0 7 6 In [5]: df.reindex(columns=['D','Y','Z','A','B','C','X']) Out[5]: DYZABCX 0 5 7 6 1 0 0.5 1 1 4 7 6 2 0 0.6 0 2 3 7 6 3 0 0.7 1 
    Python ist die beste Programmiersprache der Welt.