首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >适用于Java的CSV API

适用于Java的CSV API
EN

Stack Overflow用户
提问于 2008-09-19 11:01:13
回答 6查看 214K关注 0票数 167

有没有人能推荐一个简单的API,让我可以读取CSV输入文件,做一些简单的转换,然后再写出来。

谷歌很快就找到了看起来很有前途的http://flatpack.sourceforge.net/

在我使用这个API之前,我只是想检查一下其他人在使用什么。

EN

回答 6

Stack Overflow用户

发布于 2008-09-19 11:06:56

我们使用JavaCSV,它工作得很好

票数 8
EN

Stack Overflow用户

发布于 2008-09-19 11:21:08

对于上一个需要处理大量CSV的企业应用程序--几个月前--我在sourceforge使用了SuperCSV,发现它简单、健壮且没有问题。

票数 6
EN

Stack Overflow用户

发布于 2011-06-22 17:11:33

您可以从以下位置使用csvreader下载:

http://sourceforge.net/projects/javacsv/files/JavaCsv/JavaCsv%202.1/javacsv2.1.zip/download

http://sourceforge.net/projects/javacsv/

使用以下代码:

代码语言:javascript
复制
/ ************ For Reading ***************/

import java.io.FileNotFoundException;
import java.io.IOException;

import com.csvreader.CsvReader;

public class CsvReaderExample {

    public static void main(String[] args) {
        try {

            CsvReader products = new CsvReader("products.csv");

            products.readHeaders();

            while (products.readRecord())
            {
                String productID = products.get("ProductID");
                String productName = products.get("ProductName");
                String supplierID = products.get("SupplierID");
                String categoryID = products.get("CategoryID");
                String quantityPerUnit = products.get("QuantityPerUnit");
                String unitPrice = products.get("UnitPrice");
                String unitsInStock = products.get("UnitsInStock");
                String unitsOnOrder = products.get("UnitsOnOrder");
                String reorderLevel = products.get("ReorderLevel");
                String discontinued = products.get("Discontinued");

                // perform program logic here
                System.out.println(productID + ":" + productName);
            }

            products.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

写入/追加到CSV文件

代码:

代码语言:javascript
复制
/************* For Writing ***************************/

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import com.csvreader.CsvWriter;

public class CsvWriterAppendExample {

    public static void main(String[] args) {

        String outputFile = "users.csv";

        // before we open the file check to see if it already exists
        boolean alreadyExists = new File(outputFile).exists();

        try {
            // use FileWriter constructor that specifies open for appending
            CsvWriter csvOutput = new CsvWriter(new FileWriter(outputFile, true), ',');

            // if the file didn't already exist then we need to write out the header line
            if (!alreadyExists)
            {
                csvOutput.write("id");
                csvOutput.write("name");
                csvOutput.endRecord();
            }
            // else assume that the file already has the correct header line

            // write out a few records
            csvOutput.write("1");
            csvOutput.write("Bruce");
            csvOutput.endRecord();

            csvOutput.write("2");
            csvOutput.write("John");
            csvOutput.endRecord();

            csvOutput.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/101100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档