Home » U++ Library support » U++ Core » GetCsvLine (Reading CSVfile)
Re: GetCsvLine [message #50783 is a reply to message #49987] |
Tue, 18 December 2018 12:20 |
bozero
Messages: 20 Registered: June 2018
|
Promising Member |
|
|
How to parse empty string or data between ',' and '\n'.
Example:
StringStream ss;
Vector<String> vs;
String csvstr = "data1,data2,data3\ndata4,data5,data6\ndata7,data8,data9";
DUMP(csvstr);
ss.Open(csvstr);
while(!ss.IsEof()){
vs=GetCsvLine0(ss,',',CHARSET_DEFAULT);
DUMP(vs);
DUMP(vs.GetCount());
};
csvstr.Replace("data3","");
csvstr.Replace("data6","\"\"");
csvstr.Replace("data9","\"\","); // insert a extra comma
DUMP(csvstr);
ss.Open(csvstr);
while(!ss.IsEof()){
vs=GetCsvLine0(ss,',',CHARSET_DEFAULT);
DUMP(vs);
DUMP(vs.GetCount());
};
Outcome:
csvstr = data1,data2,data3
data4,data5,data6
data7,data8,data9
vs = [data1, data2, data3]
vs.GetCount() = 3
vs = [data4, data5, data6]
vs.GetCount() = 3
vs = [data7, data8, data9]
vs.GetCount() = 3
csvstr = data1,data2,
data4,data5,""
data7,data8,"",
vs = [data1, data2]
vs.GetCount() = 2
vs = [data4, data5]
vs.GetCount() = 2
vs = [data7, data8,]
vs.GetCount() = 3
[Updated on: Wed, 19 December 2018 09:35] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Sat May 04 01:56:36 CEST 2024
Total time taken to generate the page: 0.02993 seconds
|