CSV-Zeilenfilter
Filtert CSV-Zeilen nach Spaltenwertkonditionenen.
Über dieses Tool
CSV Row Filter ist ein browserbasiertes Tool zum Filtern von Zeilen einer CSV-Datei basierend auf Spaltenwerten. Egal ob Sie mit Datensätzen, Kundendatensätzen oder anderen tabellarischen Daten arbeiten, dieses Tool hilft Ihnen, die Zeilen, die Ihren Kriterien entsprechen, schnell zu isolieren, ohne Code schreiben oder komplexe Tabellenkalkulationsformeln verwenden zu müssen.
Um das Tool zu verwenden, fügen Sie Ihre CSV-Daten in das Eingabefeld ein und definieren Sie Filterbedingungen, indem Sie eine Spalte auswählen, einen Operator (gleich, enthält, größer als usw.) wählen und einen Wert eingeben. Sie können mehrere Bedingungen mit AND/OR-Logik kombinieren, um präzise Filter zu erstellen. Die übereinstimmenden Zeilen werden sofort in der Ausgabe angezeigt, die Sie kopieren, herunterladen oder mit zusätzlichen Filtern weiter verfeinern können.
CSV Row Filter ist besonders nützlich für Datenanalysten, Entwickler und jeden, der regelmäßig mit tabellarischen Datensätzen arbeitet. Es handhabt gängige Formate automatisch, bewahrt Ihre Originaldaten und läuft vollständig in Ihrem Browser ohne Server-Upload, was es zu einer schnellen und sicheren Möglichkeit macht, CSV-Dateien zu erkunden und zu verarbeiten.
Häufig gestellte Fragen
Code-Implementierung
import csv
import io
def filter_csv(csv_text: str, column: str, condition: str, value: str) -> str:
"""
Filter CSV rows by condition on a column.
condition: 'contains' | 'equals' | 'gt' | 'lt' | 'not_contains'
"""
reader = csv.DictReader(io.StringIO(csv_text))
if reader.fieldnames is None:
return ""
rows = []
for row in reader:
cell = row.get(column, "")
if condition == "contains" and value.lower() in cell.lower():
rows.append(row)
elif condition == "equals" and cell == value:
rows.append(row)
elif condition == "not_contains" and value.lower() not in cell.lower():
rows.append(row)
elif condition in ("gt", "lt"):
try:
if condition == "gt" and float(cell) > float(value):
rows.append(row)
elif condition == "lt" and float(cell) < float(value):
rows.append(row)
except ValueError:
pass
out = io.StringIO()
writer = csv.DictWriter(out, fieldnames=reader.fieldnames)
writer.writeheader()
writer.writerows(rows)
return out.getvalue()
csv_data = """name,age,city
Alice,30,New York
Bob,25,London
Carol,35,New York"""
print(filter_csv(csv_data, "city", "equals", "New York"))
print(filter_csv(csv_data, "age", "gt", "28"))
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.