簡體   English   中英

如何獲得CSVPrinter引用帶空格的字段?

[英]How can I get a CSVPrinter to quote fields with spaces?

我正在使用來自Apache Commons的CSVPrinter類 ,以便輸出CSV文件。 我想發生的是,如果給定的字段中包含任何空格,則將其封裝在引號中。 但是,例如,如果它只是一長串數字或日期字符串,則不需要用引號引起來。

不幸的是QuoteMode枚舉似乎很有限。 它提供以下四個選擇:

  1. ALL引用所有字段。
  2. MINIMAL引號字段包含特殊字符,例如定界符,引號字符或行分隔符中的任何字符。
  3. NON_NUMERIC引用所有非數字字段。
  4. NONE不引用字段。

MINIMAL選項似乎最接近我要在此處執行的操作,但是由於空格字符不是行分隔符的一部分,因此無法正常工作。 有什么方法可以配置CSVPrinter對象以引用其中包含空格的字段?

CSVPrinter不是那么靈活,它也是final因此您不能覆蓋打印實現。

我建議您找到一個不同的csv庫或查看CSVPrinter的源代碼,並根據自己的要求實現自己的版本。 絕對不是CSV格式要求用空格引用字符串。 符合格式的任何實現都應該能夠讀取字符串中帶有空格的字符串(且不加引號)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM