-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata-import.qmd
104 lines (70 loc) · 1.5 KB
/
data-import.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
title: "Data Import"
---
## Introduction
### Prerequisites
In Julia, you can read data from CSV files using the `CSV.jl` package, which provides functionality to handle CSV files efficiently.
```{julia}
using Tidier, CSV
```
## Reading data from a file
```{julia}
df = CSV.File("df.csv") |> DataFrame
```
### Handling different delimiters
```{julia}
df = CSV.File("df.csv", delim = ";") |> DataFrame
```
### Handling missing values
```{julia}
df = CSV.File("df.csv", missingstrings="N/A") |> DataFrame
```
### Specifying column types
```{julia}
df = CSV.File("df.csv", types=Dict(:Age => String)) |> DataFrame
```
## Writing data to a file
```{julia}
df = DataFrame(Name=["Alice", "Bob", "Charlie"], Age=[25, 30, 35], Country=["US", "UK", "Canada"])
CSV.write("df.csv", df)
```
### Specifying delimiters
```{julia}
CSV.write("df.csv", df, delim=';')
```
### Specifying missing values
```{julia}
CSV.write("df.csv", df, missingstring="N/A")
```
### Writing a subset of columns
```{julia}
CSV.write("df.csv", df, cols=[:Name, :Age])
```
## Reading data from other sources
### Excel Workbooks
```{julia}
#| eval: false
using XLSX
```
### Google Sheets
```{julia}
#| eval: false
using GoogleSheets
```
### SQL Databases
Many options actually: [https://juliapackages.com/c/database](https://juliapackages.com/c/database)
### Arrow
```{julia}
#| eval: false
using Arrow
```
### Hierarchical Data
```{julia}
#| eval: false
using JSON
```
### Web scraping
```{julia}
#| eval: false
using TidierVest
```