You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7
VBA CSV interface is a class module developed to accomplish the data exchange task between VBA arrays and CSV files at high speed. Projects from [@sdkn104](https://github.com/sdkn104/VBA-CSV) and [@Senipah](https://github.com/Senipah/VBA-Better-Array), both on Github, were used for comparative performance purposes.
8
8
9
-
The parser is compatible with those CSV files compliant with the RFC-4180 standard, but add some useful features like:
9
+
The parser is compatible with those CSV files compliant with the RFC-4180 specs, but add some useful features like:
10
10
* In-line comments (with a user-defined character). See [Papa Parse](https://www.papaparse.com/) project.
11
11
* Skip blanks lines and empty ones.
12
12
* User-defined escape character (option not available in _Power Query for Excel 2019_ and with some inconsistences when use the _From Text(Legacy)_ wizard)[[1]](#1).
Copy file name to clipboardExpand all lines: docs/home/getting_started.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,9 +22,11 @@ description: "Introduction to the VBA CSV interface class."
22
22
{:toc}
23
23
</details>
24
24
25
-
In order to be able to use `CSVinterface.cls` within your project, please review the [installation instructions](https://ws-garcia.github.io/VBA-CSV-interface/home/installation.html).
25
+
In order to be able to use `CSVinterface.cls` within your project, please review the installation instructions by clicking the button below.
26
26
27
-
The CSV files are special kind of tabulated plain text data container widely used in data exchange. There is no globally accepted standard format for that kind of files, however, out there are well formed standards such as [RFC-4180](https://www.ietf.org/rfc/rfc4180.txt) proposed by The Internet Society.
The CSV files are special kind of tabulated plain text data container widely used in data exchange. There is no globally accepted standard format for that kind of files, however, out there are well formed specs such as [RFC-4180](https://www.ietf.org/rfc/rfc4180.txt) proposed by The Internet Society.
28
30
Although many solutions has been developed for work with CSV files into VBA, including projects from [@sdkn104](https://github.com/sdkn104/VBA-CSV) and [@Senipah](https://github.com/Senipah/VBA-Better-Array) on GitHub, the performance philosophy conduce me to the development of a VBA class module that allows users exchange data between VBA arrays and CSV files at superior speed for the VBA programing language.
29
31
30
32
## Philosophy
@@ -94,8 +96,8 @@ ENC = CSVix.FileEncoding
94
96
## Benchmark
95
97
The benchmark provided here is focused on the supposed most critical operation, this is the parse one when working with CSV files. Although, benchmark for the exportation procedure is given on.
96
98
97
-
The class was tested against two solutions (the one from [@Senipah](https://github.com/Senipah/VBA-Better-Array) and the other from [@sdkn104](https://github.com/sdkn104/VBA-CSV)) using a laptop running `Win 10 Pro x64, Intel® Core™ i7-4500U CPU @1.80-2.40 GHz, 8 GB RAM, Excel 2019 x86`. The test works in two ways, 100K calls to the import procedure over three (3) different files, each of this with three records (3) and four fields (4) or one (1) call to the import procedure when parsing the larger files. In all cases, the overall work load is 1.2MM of fields. The CSV files are:
98
-
*_RFC-4180_OH.csv_: **OH**- Only the teaders are quoted (4 fields)
99
+
The class was tested against two solutions (the one from [@Senipah](https://github.com/Senipah/VBA-Better-Array) and the other from [@sdkn104](https://github.com/sdkn104/VBA-CSV)) using a laptop running `Win 10 Pro x64, Intel® Core™ i7-4500U CPU @1.80-2.40 GHz, 8 GB RAM, Excel 2019 x86`. The test works in two ways, 100K calls to the import procedure over three (3) different files, each of this with three records (3) and four fields (4), or one (1) call to the import procedure parsing a larger file. In all cases, the overall work load is 1.2MM of fields. The CSV files are:
100
+
*_RFC-4180_OH.csv_: **OH**- Only the headers are quoted (4 fields)
99
101
*_RFC-4180_HF.csv_: **HF**- Half of fields are quoted (6 fields)
100
102
*_RFC-4180_AF.csv_: **AF**- All fields are quoted (12 fields)
@@ -160,7 +162,7 @@ In the above results, the 2nd value, for cells with two values, is obtained when
160
162
>Keep in mind that not all CSV files can be successful imported using the previous tweaking.
161
163
{: .text-grey-dk-300 .bg-yellow-000 }
162
164
163
-
The image bellow shows the overall performance for the imports and exports operations from the CSV interface class. Notice, specials syntax CSV’s will take about 1.8x more time to be parsed due the parser expands its syntax analysis range. In the same way, but in less magnitude, the exportation procedure will have an overheat when the instance is setting up to be RCF-4180 standard compliant.
165
+
The image bellow shows the overall performance for the imports and exports operations from the CSV interface class. Notice, specials syntax CSV’s will take about 1.8x more time to be parsed due the parser expands its syntax analysis range. In the same way, but in less magnitude, the exportation procedure will have an overheat when the instance is setting up to be RCF-4180 compliant.
0 commit comments