# Encoding, CSV.read / write

**URL:** https://discourse.julialang.org/t/encoding-csv-read-write/13553
**Category:** General Usage
**Tags:** package
**Created:** [August 16, 2018, 8:26am UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553 "2018-08-16T08:26:10Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [August 16, 2018, 8:26am UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553/1 "2018-08-16T08:26:11Z")

</div>

I have a large number of files and the encoding is ISO-8859-1. There are errors when I use CSV.read() to read the file. And the error is as follows.

> error: CSV.ParsingException(“Unexpected start of quote (34), use "9234" to type "34"”)

Ubuntu, 64 bit  
Julia 0.6.4  
CSV 0.2.5  
DataFrames 0.11.7

Is there any way to define the encoding in CSV.read() ?  
Thank you!

---

<div class="post-metadata">

### Author: ![quinnj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/quinnj/32/11_2.png) [@quinnj](https://discourse.julialang.org/u/quinnj)
#### Post date: [August 16, 2018, 1:08pm UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553/2 "2018-08-16T13:08:26Z")

</div>

Currently, CSV doesn’t allow non-ascii/UTF8 encodings. But [StringEncodings.jl](https://github.com/JuliaStrings/StringEncodings.jl) allows for easy conversion between formats.

---

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [August 16, 2018, 2:01pm UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553/3 "2018-08-16T14:01:18Z")

</div>

My friend use Python and Pandas, and can open the files without any error. I have over millions of small files to process.  
It would make the user experience good, if CSV.jl can support the non-ascii/UTF8 code. Encoding problem is very commend in using a programming language.

---

<div class="post-metadata">

### Author: ![malmaud](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/malmaud/32/29_2.png) [@malmaud](https://discourse.julialang.org/u/malmaud)
#### Post date: [August 16, 2018, 4:15pm UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553/4 "2018-08-16T16:15:11Z")

</div>

Pandas.jl can do this.

---

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [August 17, 2018, 12:59am UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553/5 "2018-08-17T00:59:11Z")

</div>

Thanks. It is the last solution if Julia cannot do it.

---

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [August 17, 2018, 1:57am UTC](https://discourse.julialang.org/t/encoding-csv-read-write/13553/6 "2018-08-17T01:57:57Z")

</div>

I have solved the problem, which is not caused by the encode. In fact this caused by the default quotechar.

> vmim\_timestamp,Id,ais\_imo,ais\_rate\_of\_turn,ais\_nav\_status,ais\_speed\_over\_ground,ptms\_type,ais\_course\_over\_ground,ais\_cargo\_ship\_type,ais\_destination,infolink\_voyage\_id,mmsi,ptms\_destination\_name,speed,course,heading,ais\_longitude,ais\_latitude,ais\_true\_heading,ais\_eta,latitude,longitude,ais\_timestamp,latitude\_degrees,longitude\_degrees,delta\_course  
> 2017-09-11 00:00:03,9574166392,7823475,0.0,8.0,0.0,TU,3.93921,33,“”“TTP”“”“F2"”“,54652,564887000,APTP1,0.0,0.0,48.999,62170202.0,755187.0,0.8552113334769998,1528682400,0.0219674998105,1.80845787897,2017-09-11 00:00:54.000,1.2586450256,103.61700389200001,0.0  
> 2017-09-11 00:00:04,9574166392,7823475,0.0,8.0,0.0,TU,3.93921,33,”““TTP””““F2"””,54652,564887000,APTP1,0.0,0.0,48.999,62170202.0,755187.0,0.8552113334769998,1528682400,0.0219674998105,1.80845787897,2017-09-11 00:00:54.000,1.2586450256,103.61700389200001,0.0

There is one column, [“”“TTP”“”“F2"”"], which can cause problem.

I solved it by changing the quotechar which may not be used in the field value.

Regards!
