You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2023/07/25 10:15:05 UTC

[linkis] branch master updated: fix csv export error (#4814)

This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/master by this push:
     new 0f0751135 fix csv export error (#4814)
0f0751135 is described below

commit 0f075113549366487e65a849ab33a395a341646c
Author: aiceflower <ki...@sina.com>
AuthorDate: Tue Jul 25 18:14:58 2023 +0800

    fix csv export error (#4814)
---
 .../org/apache/linkis/storage/csv/StorageCSVWriter.java | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java b/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
index 620b1b3c1..ed7527bcb 100644
--- a/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
+++ b/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
@@ -52,7 +52,18 @@ public class StorageCSVWriter extends CSVFsWriter {
     this.quoteRetouchEnable = quoteRetouchEnable;
     this.outputStream = outputStream;
 
-    this.delimiter = StringUtils.isNotEmpty(separator) ? separator : "\t";
+    if (StringUtils.isBlank(separator)) {
+      this.delimiter = "\t";
+    } else {
+      switch (separator) {
+        case "t":
+          this.delimiter = "\t";
+          break;
+        default:
+          this.delimiter = separator;
+          break;
+      }
+    }
     this.buffer = new StringBuilder(50000);
   }
 
@@ -90,6 +101,10 @@ public class StorageCSVWriter extends CSVFsWriter {
                   : value;
       rowBuilder.append(decoratedValue).append(delimiter);
     }
+    if (rowBuilder.length() > 0 && rowBuilder.toString().endsWith(delimiter)) {
+      int index = rowBuilder.lastIndexOf(separator);
+      rowBuilder.delete(index, index + separator.length());
+    }
     rowBuilder.append("\n");
     if (logger.isDebugEnabled()) {
       logger.debug("delimiter:" + delimiter);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org