Zurück zu Utils

Notepad++ plugin

Query Files

Führen Sie SQL auf CSV-, Parquet-, JSON- und Excel-Dateien aus, direkt in Notepad++. Datei öffnen, Query this file wählen und als THIS abfragen.

Ziel

Kurz in eine Datendatei schauen heißt meistens: einen Datenbank-Client öffnen, eine Tabelle anlegen, importieren und erst dann die Abfrage schreiben. Query Files überspringt all das. Die Datei, die Sie in Notepad++ geöffnet haben, wird zu einer Tabelle namens THIS, und Sie schreiben einfach SQL darauf.

Unter der Haube läuft DuckDB: modernes SQL mit Window Functions, QUALIFY, PIVOT und GROUP BY ALL, und schnell genug für Dateien mit Millionen Zeilen. Sie können auch Dateien auf der Festplatte direkt abfragen und miteinander joinen, einschließlich Platzhaltern wie 'logs/*.json'.

Es gibt bereits ein Plugin, das SQL auf CSV ausführt (CSV Query), aber es verwendet SQLite von 2011 und kann nur CSV. Query Files ist in C++ geschrieben, nutzt ein lokales duckdb.exe und sendet nichts ins Internet. Quellcode vollständig offen (MIT-Lizenz) auf GitHub.

Was Sie erwarten können

Query this file

Aus einer geöffneten CSV-, Parquet-, JSON- oder Excel-Datei öffnet sich ein neuer SQL-Tab, in dem diese Datei THIS heißt. Auch nicht gespeicherte Änderungen in diesem Tab zählen mit.

Run query mit einem Klick

Ein grüner ▶-Button in der Symbolleiste führt die Auswahl oder das ganze Dokument aus. Mehrere Statements hintereinander sind möglich; jedes Ergebnis steht sauber untereinander.

Text oder Tabelle

Wählen Sie in den Einstellungen: Ergebnis als Text in einem Tab (mit Spaltentypen) oder als sortierbare Tabelle in einem angedockten Panel. Strg+C kopiert Zeilen direkt nach Excel.

Dateien joinen

Fragen Sie jede Datei auf der Festplatte ab: from 'orders.parquet' join 'kunden.csv' using (kunden_id). Relative Pfade beziehen sich auf Ihre SQL-Datei.

Describe und Summarize THIS

Mit einem Klick die Spalten und Typen einer unbekannten Datei, oder pro Spalte Minimum, Maximum, Anzahl NULLs und eindeutige Werte.

Fehler in der richtigen Zeile

Ein Fehler erscheint dort, wo das Ergebnis stehen würde, mit der Zeilennummer in Ihrem SQL. Lange Abfragen laufen im Hintergrund und lassen sich abbrechen.

In Aktion sehen

Eine Abfrage auf eine geöffnete CSV-Datei, und das Ergebnis, wie das Plugin es in einen Tab schreibt.

Abfrage

-- this: C:\data\orders.csv
select customer,
       count(*)    as orders,
       sum(amount) as revenue
from this
group by all
order by revenue desc;

Ergebnis

┌──────────┬────────┬─────────┐
│ customer │ orders │ revenue │
│ varchar  │ int64  │ double  │
├──────────┼────────┼─────────┤
│ Alpha    │      3 │  394.75 │
│ Beta     │      2 │  122.75 │
│ Gamma    │      1 │    15.0 │
└──────────┴────────┴─────────┘

THIS gehört dem Plugin

THIS ist ein reserviertes Wort von Query Files und immer schreibgeschützt. Verwenden Sie es als Tabelle (from this, join this t, describe this, copy this to 'aus.parquet'), aber nicht als Namen: nicht als Alias, CTE oder Tabellenname und nicht als Ziel von insert, update oder delete. Eine Spalte, die wirklich this heißt, schreiben Sie in doppelten Anführungszeichen.

Verwendung

1. Installation

Noch nicht in Notepad++'s Plugins Admin — manuelle Installation:

Laden Sie QueryFiles.zip aus dem neuesten Release herunter und entpacken Sie es in den Notepad++-Plugin-Ordner (64-Bit Notepad++ erforderlich):

C:\Program Files\Notepad++\plugins\
  QueryFiles\
    QueryFiles.dll
    help.txt
Neuestes Release herunterladen

2. DuckDB

Query Files verwendet das kostenlose duckdb.exe (duckdb.org). Legen Sie es in Ihren PATH, neben das Plugin, oder wählen Sie es in den Einstellungen. Sie nutzen bereits Datamodder File Tools mit DuckDB? Dann übernimmt Query Files dieses automatisch.

3. Plugin aktivieren

Starten Sie Notepad++ neu. Das Plugin erscheint automatisch unter Plugins → Datamodder Query Files.

4. Los geht's

Öffnen Sie eine Datendatei, wählen Sie Query this file und klicken Sie auf den ▶-Button in der Symbolleiste:

Plugins → Datamodder Query Files → Query this file
Plugins → Datamodder Query Files → Run query   (▶)

Häufig gestellte Fragen

Ist dieses Plugin wirklich kostenlos?

Ja, vollständig — MIT-Lizenz, Quellcode offen auf GitHub, keine Werbung, keine 'Pro'-Version hinter einer Paywall. DuckDB ist ebenfalls kostenlos und Open Source.

Sendet das Plugin Daten ins Internet?

Nein. Ihre Abfragen laufen im lokal installierten duckdb.exe, auch ohne Internetverbindung. Nur wenn Sie eine Erweiterung wie excel zum ersten Mal nutzen, lädt DuckDB diese gegebenenfalls einmalig herunter.

Wie groß dürfen die Dateien sein?

DuckDB liest Dateien direkt und parallel, Millionen Zeilen sind also kein Problem. Standardmäßig zeigt das Plugin höchstens 1.000 Zeilen des Ergebnisses (einstellbar), damit Notepad++ nicht einfriert.

Was ist der Unterschied zu CSV Query?

CSV Query lädt eine CSV in SQLite 3.7 von 2011: keine Window Functions, nur CSV, nur die geöffnete Datei. Query Files nutzt ein aktuelles DuckDB, liest auch Parquet, JSON und Excel und kann Dateien auf der Festplatte joinen.

Bleiben Tabellen zwischen zwei Läufen erhalten?

Standardmäßig nicht: Jeder Lauf startet eine frische In-Memory-Datenbank. Legen Sie in den Einstellungen eine Datenbankdatei (.duckdb) fest, dann bleiben Ihre Tabellen, Views und Makros erhalten.

Welche Notepad++-Version brauche ich?

64-Bit Notepad++ 8.3 oder höher. 32-Bit wird nicht unterstützt.

Fehler gefunden oder eine Idee für eine Verbesserung?

Melden Sie es direkt als Issue auf GitHub — das wird gelesen und bearbeitet. Lieber kein GitHub-Konto? Schicken Sie uns stattdessen eine Nachricht über das Kontaktformular, wir leiten sie weiter.