Skip to content

Instantly share code, notes, and snippets.

@esctabcapslock
Last active March 16, 2022 04:31
Show Gist options
  • Save esctabcapslock/0f318f7fe62c1f60d2cf2e9b7480a69f to your computer and use it in GitHub Desktop.
Save esctabcapslock/0f318f7fe62c1f60d2cf2e9b7480a69f to your computer and use it in GitHub Desktop.
function csv2arr(data){
data = data.replace(/\n\r/g,'\n');
var f=0;
var arr=[]
var ar=['']
for(var i=0; i<data.length; i++){
if(data[i]=='"' ) f+=1;
//if(data[i]=='"' && !(f%2)) continue;
if(data[i]=='"' && data[i+1]=='"' && f%2) continue;
if(data[i]=='"' && data[i-1]!='"' && f%2) continue
if(data[i]=='"' && data[i+1]!='"' && !(f%2)) continue
if(data[i]=='\n' && !(f%2)) {arr.push(ar.slice()); ar=['']}
else if(data[i]==',' && !(f%2)) ar.push('');
else ar[ar.length-1]+=data[i]
}
return arr;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment