2017-01-02 39 views
0

我使用打开的CSV将SQL转储导出为CSV。在其中一列中,我有很多逗号。在导出为CSV后,数据在每个逗号分割。我怎样才能逃离逗号?打开CSV:如何在将SQL转储导出为CSV时转义逗号

con = DriverManager.getConnection(url, user, password); 
    pst = con.prepareStatement("SELECT * FROM Cars"); 
    rs = pst.executeQuery(); 

    writer = new CSVWriter(new FileWriter("cars.csv"), 
      DEFAULT_SEPARATOR, NO_QUOTE_CHARACTER); 
    writer.writeAll(rs, true); 

实际数据:

LINESTRING (184317.646019852 55192.7039821837, 184361.902992529 55174.2199648116) 

什么我越来越

COLUMN-1           COLUMN-2 
LINESTRING (184317.646019852 55192.7039821837  184361.902992529 55174.2199648116) 

回答

1

如果你真的想生成CSV与RFC 4180标准兼容:

6. Fields containing line breaks (CRLF), double quotes, and !!!commas!!! 
    should be enclosed in double-quotes. For example: 

    "aaa","b CRLF 
    bb","ccc" CRLF 
    zzz,yyy,xxx 

刚删除NO_QUOTE_CHARACTER选项。

过分地,您应该找到另一个库,它可以生成与CSV不兼容的分隔格式(即,如果您想使用\代替双引号而使用转义逗号)。

相关问题