Lesen von CSVs, die in Python nur Ganzzahlen enthalten

Ich habe eine Person gesehen, die Schwierigkeiten hat, selbst eine Doppelschleife zu schreiben, um CSV wie die folgende in Python zu lesen, daher werde ich vier typische Lesemethoden zusammenfassen.

sample.csv


1,2,3
4,5,6
7,8,9
10,11,12

Darüber hinaus wird StringIO hier verwendet, um das Lesen von Dateien zu emulieren. Wenn Sie es jedoch tatsächlich verwenden, lesen Sie es bitte als offene Funktion oder als Zeichenfolge des Dateinamens.

Verwenden Sie das CSV-Modul

Verwendung von CSV, einer Standardbibliothek von Python. Es kann den Vorteil haben, nur mit der Standardbibliothek zu arbeiten, aber in Wirklichkeit ist es unwahrscheinlich, dass Sie Daten, die nur numerische Werte enthalten, als Doppelliste behandeln.

Beachten Sie, dass jedes Element immer noch eine Zeichenfolge ist. Daher setzen wir "map (int, row)" dazwischen, um es als Zahl zu konvertieren.

from io import StringIO
import csv
s = """1,2,3
4,5,6
7,8,9
10,11,12"""

with StringIO(s) as csvfile:
    csvreader = csv.reader(csvfile)
    rows = []
    for row in csvreader:
        rows.append(list(map(int, row)))

#oder Listeneinschlussnotation
with StringIO(s) as csvfile:
    csvreader = csv.reader(csvfile)
    rows = [list(map(int, row)) for row in csvreader]

import numpy as np
arr = np.array(rows)

numpy

loadtxt und [genfromtxt](https://numpy.org/doc/stable/reference/generated /numpy.genfromtxt.html?highlight=genfromtxt#numpy.genfromtxt). Beide haben ähnliche Schnittstellen, aber genfromtxt ist etwas ausgefeilter, da es fehlende Werte ersetzen kann.

numpy.loadtxt

from io import StringIO
import numpy as np

s = """1,2,3
4,5,6
7,8,9
10,11,12"""

with StringIO(s) as csvfile:
    arr = np.loadtxt(csvfile, delimiter=",", dtype=int)

numpy.genfromtxt

from io import StringIO
import numpy as np

s = """1,2,3
4,5,6
7,8,9
10,11,12"""

with StringIO(s) as csvfile:
    arr = np.genfromtxt(csvfile, delimiter=",", dtype=int)

pandas

np.genfromtxt kann auch fehlende Werte verarbeiten, aber Pandas sind möglicherweise leichter zu finden.

pandas.read_csv

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

Dieses Mal wird es als CSV ohne Header behandelt. Setzen Sie also die Option "Header = Keine".

from io import StringIO
import pandas as pd

s = """1,2,3
4,5,6
7,8,9
10,11,12"""

with StringIO(s) as csvfile:
    df = pd.read_csv(csvfile, header=None, dtype=int)
arr = df.values

Bitte lassen Sie mich wissen, ob es eine andere bequeme Methode gibt.

Recommended Posts

Lesen von CSVs, die in Python nur Ganzzahlen enthalten
Lesen von CSV-Dateien mit Pandas
Lesen einer CSV-Datei mit Python 2/3
Wie man in Python entwickelt
[Python] Wie man PCA mit Python macht
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Umgang mit Japanisch mit Python
[Python] So konvertieren Sie eine Datenbankdatei in CSV
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
So konvertieren Sie csv in tsv in CLI
[Itertools.permutations] So löschen Sie eine Sequenz in Python
So arbeiten Sie mit BigQuery in Python
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
Lesen Sie Python csv und exportieren Sie es nach txt
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
CSV in Python
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
Verwendung der C-Bibliothek in Python
So empfangen Sie Befehlszeilenargumente in Python
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie einen Taple in einer Liste (Python)
So generieren Sie eine Sequenz in Python und C ++
Einbetten von Variablen in Python-Strings
Zusammenfassung zum Importieren von Dateien in Python 3
So vereinfachen Sie die eingeschränkte Polypoly-Anpassung in Python
Verwendung der Python-Bildbibliothek in der Python3-Serie
So implementieren Sie Shared Memory in Python (mmap.mmap)
So erstellen Sie eine JSON-Datei in Python
[Python] Wie man Excel-Dateien mit Pandas liest
Zusammenfassung der Verwendung von MNIST mit Python
Konvertieren Sie UTF-8-CSV-Dateien in Excel
So benachrichtigen Sie Discord-Kanäle in Python
So erhalten Sie die Dateien im Ordner [Python]
Wie man tkinter mit Python in Pyenv benutzt
So führen Sie LeapMotion mit Nicht-Apple Python aus
Lesen von Zeitreihendaten in PyTorch
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
So geben Sie "Ketsumaimo" standardmäßig in Python aus
Wie man mit dem Datum / Uhrzeit-Typ in Pythons SQLite3 umgeht
So lesen Sie Dateien in verschiedenen Verzeichnissen
So nehmen Sie Python Interpreter-Änderungen in Pycharm vor
Wie man Autokorrelation und partielle Autokorrelation mit Python zeichnet
So entfernen Sie doppelte Elemente in der Python 3-Liste