【问题标题】:How to parse the CSV file in android application?如何在 Android 应用程序中解析 CSV 文件?
【发布时间】:2011-08-28 19:10:52
【问题描述】:

我在 drawable/asset 文件夹中有一个 CSV 文件。在 CSV 文件中有四列。第一个用于日期,其余三个用于整数数据。

我需要解析这个 CSV 文件并将数据保存在单独的数组中。

我已经寻找解决方案,但我不知道如何做到这一点。

【问题讨论】:

标签: android csv


【解决方案1】:

我喜欢这个 csv 阅读器:https://mvnrepository.com/artifact/net.sf.opencsv/opencsv/2.3

只需将其添加到您的项目中即可。

示例代码(假设有assets/test.csv文件):

        String next[] = {};
        List<String[]> list = new ArrayList<String[]>();

        try {
            CSVReader reader = new CSVReader(new InputStreamReader(getAssets().open("test.csv")));
            while(true) {
                next = reader.readNext();
                if(next != null) {
                    list.add(next);
                } else {
                    break;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

您可以访问导入的数据,例如,

list.get(1)[1]

这将返回一个字符串。

【讨论】:

  • @PratikButani for(;;) 这样做,所以你可以在循环之后再做一次你想要的
  • CSVReader 在尝试了大量其他 CSV 解析解决方案后为我工作。我很惊讶良好的 CSV 解析仍然是一个难以实施的解决方案。在我的情况下,我必须处理多行,这是使它工作的唯一文件。
  • 如果我想解析位于 Url 上的 CSV 怎么办?
  • @Si8 改造。响应体。 CSVReader reader = new CSVReader(response.body().charStream());
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
相关资源
最近更新 更多