When importing a csv file is there a way to set the delimiter. I have a csv that uses ";" as its delimiter.
I tried
rd = import["/Users/rolfbosscha/Downloads/rsdata.csv"]
When importing a csv file is there a way to set the delimiter. I have a csv that uses ";" as its delimiter.
I tried
rd = import["/Users/rolfbosscha/Downloads/rsdata.csv"]
This seems to work:
Import["data.csv", "table", FieldSeparators -> ";"]
Should be
Import["data.csv", "Table", "FieldSeparators" -> ";"]
See help for "Table" element (ref/format/Table), specifically Options section.
\t in Mathematica 11.0.1, Debian 8.5.
– Léo Léopold Hertz 준영
Oct 28 '16 at 14:33
\t then your file format is "Table". Simply:
Import["data.csv", "Table"]
– drgrujic
Feb 01 '18 at 15:08
"1;2;3;;5", this solution will ignore it. You may use extra option "RepeatedSeparators" -> False
– klimenkov
Jun 18 '20 at 14:30
I may be mistaken here, but I don't think you can switch from the standard CSV definition (commas separate values) to the one you have (commas take the role of decimal points, and semicolons are used as value separator). A workaround might be to first import as text, switch the offending characters and import that.
As a demo I use ImportString here instead of Import, but it should work almost the same for Import too.
ImportString[
StringReplace[
ImportString["1,2;2;3;4.3\n2,3;4,5;6;7", "Text"],
{"," -> ".", ";" -> ","}
],
"CSV"
]
{{1.2, 2, 3, 4.3}, {2.3, 4.5, 6, 7}}
Replace the inner ImportString with
Import["/Users/rolfbosscha/Downloads/rsdata.csv", "Text"]
to work with your file. Note that you need to use "Text" instead of "CSV".
\t.
– Léo Léopold Hertz 준영
Oct 28 '16 at 14:34
ReadListwhich happens to be much faster thanImportSee for example http://mathematica.stackexchange.com/questions/35371/speeding-up-import-and-export-in-csv-format/35375#35375. With only a slight modification: change","to";"underRecordSeperators– RunnyKine Nov 19 '13 at 21:14Import, notimport. – m_goldberg Nov 19 '13 at 21:21