Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
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 Go to previous messageGo to previous message
bozero is currently offline  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

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: About Serialization
Next Topic: Why there is no Index::Add(T&&)?
Goto Forum:
  


Current Time: Sat May 04 01:56:36 CEST 2024

Total time taken to generate the page: 0.02993 seconds