# Save data frame with special characters in csv

**URL:** https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022
**Category:** General Usage
**Tags:** dataframes, csv
**Created:** [January 31, 2020, 11:53am UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022 "2020-01-31T11:53:38Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![jayce\_ram](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayce_ram/32/3977_2.png) [@jayce\_ram](https://discourse.julialang.org/u/jayce_ram)
#### Post date: [January 31, 2020, 11:53am UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022/1 "2020-01-31T11:53:38Z")

</div>

The column names of my dataframe has special character like "€. Before updating to v1.3, I was able to write my df in a csv file and keeping the different symbols. However, after updating the csv file doesn’t recognize these symbols and I got a result like that:

![image](https://global.discourse-cdn.com/julialang/original/3X/2/e/2e0e72a8f031a42cbdb047cc1648a8533008accd.png)

I can reproduce this problem easily as follow:

```julia
using DataFrames, CSV

df = DataFrame([:TypeProduct => [1,2,3], Symbol("Coût - €/l") => [4,5,6]])

CSV.write("df.csv", df;delim=";")

```

Anyone knows how I can handle this problem?  
Thanks.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [January 31, 2020, 1:43pm UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022/2 "2020-01-31T13:43:55Z")

</div>

Works fine for me in both 1.3 and 1.4:

```julia
julia> using DataFrames, CSV

julia> df = DataFrame([:TypeProduct => [1,2,3], Symbol("Coût - €/l") => [4,5,6]])
3×2 DataFrame
│ Row │ TypeProduct │ Coût - €/l │
│ │ Int64 │ Int64 │
├─────┼─────────────┼────────────┤
│ 1 │ 1 │ 4 │
│ 2 │ 2 │ 5 │
│ 3 │ 3 │ 6 │

julia> CSV.write("/tmp/df.csv", df;delim=";")
"/tmp/df.csv"

shell> cat /tmp/df.csv
TypeProduct;Coût - €/l
1;4
2;5
3;6

(@v1) pkg> st CSV DataFrames
Status `~/.julia/environments/v1/Project.toml`
  [336ed68f] CSV v0.5.22
  [a93c6f00] DataFrames v0.20.0

```

Are you sure that the software you are reading it with handles UTF8?

---

<div class="post-metadata">

### Author: ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)
#### Post date: [January 31, 2020, 1:47pm UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022/3 "2020-01-31T13:47:18Z")

</div>

OP, it looks like you are using excel to view the files. Excel has pretty notorious problems with displaying unicode characters (and saving them wrong!).

Best to use a text editor to view the .csv file if it’s not too big.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [January 31, 2020, 2:02pm UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022/4 "2020-01-31T14:02:26Z")

</div>

The BOM Header is missing in the .csv file.  
Try the following:

```julia
using DataFrames, CSV
df = DataFrame([:TypeProduct => [1,2,3], Symbol("Coût - €/l") => [4,5,6]])
CSV.write("df.csv", df;delim=";")

inStream = open("df.csv","r")
outStream = open("df_bom.csv","w")
print(outStream,"\xEF\xBB\xBF") #UTF-8 BOM header
print(outStream, read(inStream,String))
close(outStream)
close(inStream)

```

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [January 31, 2020, 2:13pm UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022/5 "2020-01-31T14:13:04Z")

</div>

Opened an issue:  
[https://github.com/JuliaData/CSV.jl/issues/567](https://github.com/JuliaData/CSV.jl/issues/567)

---

<div class="post-metadata">

### Author: ![jayce\_ram](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayce_ram/32/3977_2.png) [@jayce\_ram](https://discourse.julialang.org/u/jayce_ram)
#### Post date: [February 5, 2020, 5:06pm UTC](https://discourse.julialang.org/t/save-data-frame-with-special-characters-in-csv/34022/6 "2020-02-05T17:06:28Z")

</div>

Thanks a lot
