Fix import csv failing when single quote is in string

This commit is contained in:
psvri 2025-01-05 17:34:56 +05:30
parent 3bc86a3cfc
commit ce8600a695
3 changed files with 5 additions and 4 deletions

View file

@ -81,7 +81,8 @@ impl<'a> ImportFile<'a> {
for r in record.iter() {
values_string.push('\'');
values_string.push_str(r);
// The string can have a single quote which needs to be escaped
values_string.push_str(&r.replace("'", "''"));
values_string.push_str("',");
}

View file

@ -253,10 +253,10 @@ def test_import_csv(test_name: str, options: str, import_output: str, table_outp
table_output,
)
test_import_csv('no_options', '--csv', '', '1|2.0|String1\n3|4.0|String2')
test_import_csv('no_options', '--csv', '', '1|2.0|String\'1\n3|4.0|String2')
test_import_csv('verbose', '--csv -v',
'Added 2 rows with 0 errors using 2 lines of input'
,'1|2.0|String1\n3|4.0|String2')
,'1|2.0|String\'1\n3|4.0|String2')
test_import_csv('skip', '--csv --skip 1', '' ,'3|4.0|String2')

View file

@ -1,2 +1,2 @@
1,2.0,"String1"
1,2.0,"String'1"
3,4.0,"String2"
1 1 2.0 String1 String'1
2 3 4.0 String2 String2