Parsing of file fails in CSV.jl in Julia 1.6 but not 1.5

Not sure where to put this, whether this is too early to submit and what this actually is but the following CSV file

ObjectId,IdBundesland,Bundesland,Landkreis,Altersgruppe,Geschlecht,AnzahlFall,AnzahlTodesfall,Meldedatum,IdLandkreis,Datenstand,NeuerFall,NeuerTodesfall,Refdatum,NeuGenesen,AnzahlGenesen,IstErkrankungsbeginn,Altersgruppe2
43309019,1,Schleswig-Holstein,SK Flensburg,A00-A04,M,1,0,2020/09/30 00:00:00,01001,"12.10.2020, 00:00 Uhr",0,-9,2020/09/30 00:00:00,-9,0,0,Nicht übermittelt

is parsed perfectly well with 1.5+

christian@pop-os:~/Downloads/julia-5d68779316/bin$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.5.2 (2020-09-23)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |

julia> import CSV; CSV.File("/home/christian/Dropbox/computer_sync_hardlink/covid/zweiter_anlauf/test.csv")

1-element CSV.File{false}:
 CSV.Row: (ObjectId = 43309019, IdBundesland = 1, Bundesland = "Schleswig-Holstein", Landkreis = "SK Flensburg", Altersgruppe = "A00-A04", Geschlecht = "M", AnzahlFall = 1, AnzahlTodesfall = 0, Meldedatum = "2020/09/30 00:00:00", IdLandkreis = 1001, Datenstand = "12.10.2020, 00:00 Uhr", NeuerFall = 0, NeuerTodesfall = -9, Refdatum = "2020/09/30 00:00:00", NeuGenesen = -9, AnzahlGenesen = 0, IstErkrankungsbeginn = 0, Altersgruppe2 = "Nicht übermittelt")

but fails with a pre build nightly binary from the julialang website

christian@pop-os:~/Downloads/julia-5d68779316/bin$ ./julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0-DEV.1441 (2020-11-06)
 _/ |\__'_|_|_|\__'_|  |  Commit 5d68779316 (0 days old master)
|__/                   |

julia> import CSV; CSV.File("/home/christian/Dropbox/computer_sync_hardlink/covid/zweiter_anlauf/test.csv")
ERROR: MethodError: no method matching typesubtract(::Type{Union{}}, ::Type{Int64})
Closest candidates are:
  typesubtract(::Any, ::Any, ::Int64) at compiler/typeutils.jl:66
Stacktrace:
 [1] ts(T::Type, S::Type)
   @ CSV ~/.julia/packages/CSV/MKemC/src/utils.jl:214
 [2] nonstandardtype(T::Type)
   @ CSV ~/.julia/packages/CSV/MKemC/src/utils.jl:217
 [3] (::CSV.var"#17#23")(T::Type)
   @ CSV ./none:0
 [4] iterate(::Base.Iterators.Filter{CSV.var"#17#23", Vector{Type}})
   @ Base.Iterators ./iterators.jl:451
 [5] iterate
   @ ./generator.jl:44 [inlined]
 [6] Header
   @ ~/.julia/packages/CSV/MKemC/src/header.jl:232 [inlined]
 [7] CSV.File(source::String; header::Int64, normalizenames::Bool, datarow::Int64, skipto::Nothing, footerskip::Int64, transpose::Bool, comment::Nothing, use_mmap::Nothing, ignoreemptylines::Bool, select::Nothing, drop::Nothing, missingstrings::Vector{String}, missingstring::String, delim::Nothing, ignorerepeated::Bool, quotechar::Char, openquotechar::Nothing, closequotechar::Nothing, escapechar::Char, dateformat::Nothing, dateformats::Nothing, decimal::UInt8, truestrings::Vector{String}, falsestrings::Vector{String}, type::Nothing, types::Nothing, typemap::Dict{Type, Type}, categorical::Nothing, pool::Float64, lazystrings::Bool, strict::Bool, silencewarnings::Bool, debug::Bool, parsingdebug::Bool, kw::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ CSV ~/.julia/packages/CSV/MKemC/src/file.jl:216
 [8] CSV.File(source::String)
   @ CSV ~/.julia/packages/CSV/MKemC/src/file.jl:216
 [9] top-level scope
   @ REPL[1]:1

is something changing in julia 1.6 that I missed?

Install CSV#master.

1 Like

works… is it possible to explain what’s the problem in a few words
or link the github issue?

https://github.com/JuliaData/CSV.jl/pull/745

3 Likes