Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) CSV Append New RowDemonstrates how to append a new row to a CSV.
IncludeFile "CkStringBuilder.pb" IncludeFile "CkCsv.pb" Procedure ChilkatExample() ; We have the following CSV... ; permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round ; lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b ; mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed ; flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a ; infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a ; gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed success.i bCrlf.i = 1 sb.i = CkStringBuilder::ckCreate() If sb.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppendLine(sb,"permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round",bCrlf) CkStringBuilder::ckAppendLine(sb,"lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b",bCrlf) CkStringBuilder::ckAppendLine(sb,"mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed",bCrlf) CkStringBuilder::ckAppendLine(sb,"flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a",bCrlf) CkStringBuilder::ckAppendLine(sb,"infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a",bCrlf) CkStringBuilder::ckAppendLine(sb,"gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed",bCrlf) csv.i = CkCsv::ckCreate() If csv.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkCsv::setCkHasColumnNames(csv, 1) success = CkCsv::ckLoadFromString(csv,CkStringBuilder::ckGetAsString(sb)) ; Let's say we want to append the following row: ; yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a ; If we have the row as-is, we could do this: csvTemp.i = CkCsv::ckCreate() If csvTemp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkCsv::ckLoadFromString(csvTemp,"yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a") numCols.i = CkCsv::ckNumColumns(csvTemp) i.i = 0 row.i = CkCsv::ckNumRows(csv) While i < numCols CkCsv::ckSetCell(csv,row,i,CkCsv::ckGetCell(csvTemp,0,i)) i = i + 1 Wend ; Show the updated CSV: Debug CkCsv::ckSaveToString(csv) ; Output should be: ; permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round ; lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b ; mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed ; flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a ; infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a ; gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed ; yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a CkStringBuilder::ckDispose(sb) CkCsv::ckDispose(csv) CkCsv::ckDispose(csvTemp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.