# => ───┼────────────┼───────────┼──────────
# => 0 │ Octavia │ Butler │ Writer
# => 1 │ Bob │ Ross │ Painter
# => 2 │ Antonio │ Vivaldi │ Composer
# => ───┴────────────┴───────────┴──────────
```
Now that our data is in a table, we can use all the commands we've used on tables before:
```nu
open people.txt | lines | split column "|" first_name last_name job | str trim | sort-by first_name
# => ───┬────────────┬───────────┬──────────
# => # │ first_name │ last_name │ job
# => ───┼────────────┼───────────┼──────────
# => 0 │ Antonio │ Vivaldi │ Composer
# => 1 │ Bob │ Ross │ Painter
# => 2 │ Octavia │ Butler │ Writer
# => ───┴────────────┴───────────┴──────────
```
There are other commands you can use to work with strings:
- [`str`](/commands/docs/str.md)
- [`lines`](/commands/docs/lines.md)
There is also a set of helper commands we can call if we know the data has a structure that Nu should be able to understand. For example, let's open a Rust lock file:
```nu
open Cargo.lock
# => # This file is automatically @generated by Cargo.
# => # It is not intended for manual editing.
# => [[package]]
# => name = "adhoc_derive"
# => version = "0.1.2"
```
The "Cargo.lock" file is actually a .toml file, but the file extension isn't .toml. That's okay, we can use the [`from`](/commands/docs/from.md) command using the `toml` subcommand:
@[code](@snippets/loading_data/cargo-toml.sh)
The [`from`](/commands/docs/from.md) command can be used for each of the structured data text formats that Nu can open and understand by passing it the supported format as a subcommand.
## Opening in raw mode
While it's helpful to be able to open a file and immediately work with a table of its data, this is not always what you want to do. To get to the underlying text, the [`open`](/commands/docs/open.md) command can take an optional `--raw` flag:
```nu
open Cargo.toml --raw
# => [package] name = "nu"
# => version = "0.1.3"
# => authors = ["Yehuda Katz <wycats@gmail.com>", "Sophia Turner <547158+sophiajt@users.noreply.github.com>"]
# => description = "A shell for the GitHub era"
# => license = "MIT"
```
## SQLite
SQLite databases are automatically detected by [`open`](/commands/docs/open.md), no matter what their file extension is. You can open a whole database:
```nu
open foo.db
```
Or [`get`](/commands/docs/get.md) a specific table:
```nu
open foo.db | get some_table
```
Or run any SQL query you like:
```nu
open foo.db | query db "select * from some_table"
```
(Note: some older versions of Nu use `into db | query` instead of `query db` )
## Fetching URLs
In addition to loading files from your filesystem, you can also load URLs by using the [`http get`](/commands/docs/http.md) command. This will fetch the contents of the URL from the internet and return it:
@[code](@snippets/loading_data/rust-lang-feed.sh)