Use SQL And CSV Files¶
Use data-language="sql" to verify prose claims with DuckDB SQL. DuckDB can
query nearby CSV files directly with read_csv_auto().
Create A SQL Setup Cell¶
Create a view over a CSV file:
<pre><code data-language="sql">
create view orders as
select *
from read_csv_auto('data/orders.csv');
</code></pre>
When the document is verified from disk, relative paths resolve from the document's directory.
Write SQL Result Assertions¶
Put a SQL query in data-code:
The CSV contains <span class="result" data-language="sql" data-code="select count(*) from orders">6<span class="method"></span></span> orders.
The SQL verifier expects result queries to return a value:
- one row and one column becomes a scalar;
- multiple rows and one column become a list, useful with
data-compare="set"; - multiple columns become tuples.
Query A CSV Directly¶
You can also query the CSV directly from the result span:
Paid orders total <span class="result" data-language="sql" data-code="select printf('$%.2f', sum(amount)) from read_csv_auto('data/orders.csv') where status = 'paid'">$461.00<span class="method"></span></span>.
For a complete example, see SQL CSV Sales Summary.