You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a hard time understanding why empty Strings are interpreted as missing by default. missing represents a value that exists, but we don't have access to. Why would we assume that with no semantic information about the data we are parsing? "" is not a missing value, it is just an empty String and should be treated as such.
This is really awkward when you try further operations that fail because the type of a column is now Union{Missing, String}.
Also I found that CSV.read("myfancytable.csv", DataFrame, missingstring="")
does not replace the "missing" values with empty Strings, they are still missing values. CSV.read("myfancytable.csv", DataFrame, missingstring="abc")
does not replace "missing" values with String("abc"), but with nothing values.
My suggestion is to use String("") or nothing as the default value for an empty table cell.
The text was updated successfully, but these errors were encountered:
Hi,
I have a hard time understanding why empty Strings are interpreted as
missing
by default.missing
represents a value that exists, but we don't have access to. Why would we assume that with no semantic information about the data we are parsing?""
is not a missing value, it is just an empty String and should be treated as such.This is really awkward when you try further operations that fail because the type of a column is now
Union{Missing, String}
.Also I found that
CSV.read("myfancytable.csv", DataFrame, missingstring="")
does not replace the "missing" values with empty Strings, they are still
missing
values.CSV.read("myfancytable.csv", DataFrame, missingstring="abc")
does not replace "missing" values with
String("abc")
, but withnothing
values.My suggestion is to use
String("")
ornothing
as the default value for an empty table cell.The text was updated successfully, but these errors were encountered: