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 Special Chars - Comma, Double-QuotesThe Chilkat CSV class/component automatically handles special characters which include double-quotes, and the delimiter character (comma or semicolon). The Chilkat CSV library/component/class is freeware. The downloads for .NET, C++, Perl, Java, Ruby, and Python contain all of the Chilkat classes, some of which are freeware and some of which require licensing.
IncludeFile "CkCsv.pb" Procedure ChilkatExample() ; This example program loads a file (sample.csv) ; that contains this content: ; ; year,color,country,food ; 2001,red,France,cheese ; 2005,blue,"United States",hamburger ; 2008,green,Italy,pasta ; 1998,orange,Japan,sushi ; ; The first row contains the column names. ; This file is available at: ; http://www.chilkatsoft.com/testData/sample.csv csv.i = CkCsv::ckCreate() If csv.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Prior to loading the CSV file, indicate that the 1st row ; should be treated as column names: CkCsv::setCkHasColumnNames(csv, 1) ; Load the CSV records from the file: success.i success = CkCsv::ckLoadFile(csv,"sample.csv") If success <> 1 Debug CkCsv::ckLastErrorText(csv) CkCsv::ckDispose(csv) ProcedureReturn EndIf ; A field may contain the delimiter character (in this case ; the delimiter is a comma): ; Change "cheese" to "cheese,baguette" ; ("cheese" is at row=0, column=3 success = CkCsv::ckSetCell(csv,0,3,"cheese,baguette") ; A field may also contain double-quotes: ; Change blue to shiny "metallic" blue success = CkCsv::ckSetCell(csv,1,1,"shiny " + Chr(34) + "metallic" + Chr(34) + " blue") ; Write the updated CSV to a string and display: csvDoc.s csvDoc = CkCsv::ckSaveToString(csv) Debug csvDoc ; Save the CSV to a file: success = CkCsv::ckSaveFile(csv,"out.csv") If success <> 1 Debug CkCsv::ckLastErrorText(csv) EndIf ; The out.csv contains this: ; year,color,country,food ; 2001,red,France,"cheese,baguette" ; 2005,"shiny ""metallic"" blue","United States",hamburger ; 2008,green,Italy,pasta ; 1998,orange,Japan,sush CkCsv::ckDispose(csv) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.