簡體   English   中英

轉換列表<list<string> &gt; 至 csv </list<string>

[英]Convert List<List<String>> to csv

List<String> a=new ArrayList<>();
a.add("Ross");
a.add("Rachel")'
List<String> b=new ArrayList<>();
b.add("Chandler");
b.add("Monica")'
List<String> c=new ArrayList<>();
c.add("Joey");
c.add("Phoebe");
List<List<String>> x=new ArrayList<>();
x.add(a);
x.add(b);
x.add(c);

我想將字符串列表列表 x 轉換為 csv? 如何做到這一點?

csv 應該看起來像 -

羅斯·雷切爾

錢德勒莫妮卡

喬伊菲比

一個簡單的 csv 編寫器可能如下所示:

Writer out = System.out; // this could be a FileWriter, StringWriter, etc.
for (List<String> line : x) {
    int n = 0;
    for (String field : line) {
        if (n++ > 0) {
            out.write(",");  // field separator
        }
        out.write(field);
    }
    out.write("\n"); // record separator
}

並不是說如果您的任何字符串包含逗號,則該字段應該用雙引號括起來,例如"A,C" 上面的代碼沒有這樣做。 包含換行符或雙引號的字段也應該轉義。 沒有單一的規范來定義這些轉義在所有情況下如何工作,因此有時會變成反復試驗,以查看您的文件將導入到的應用程序中的工作原理。

有時 csv 文件在第一行有逗號分隔的字段名稱,有時沒有。

csv 的變體使用不同的字符作為字段分隔符,例如“\t”或“|”

有諸如 opencsv 之類的庫可以處理這些復雜性,因此對於非平凡的情況,使用這些庫而不是像這樣重新發明基本功能會很有用。

暫無
暫無

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

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