android根据csv文件创建数据模型类
时间: 2023-08-10 19:29:17 浏览: 92
手机价格分类数据集.zip
在 Android 中,可以使用第三方库来解析 CSV 文件,并将其转换为数据模型类。以下是使用 `opencsv` 库来创建数据模型类的示例代码:
1. 首先,添加 `opencsv` 库到项目的 Gradle 依赖中:
```
dependencies {
implementation 'com.opencsv:opencsv:5.4'
}
```
2. 创建一个名为 `CsvData` 的类,用于存储 CSV 文件中的数据。在这个类中,我们可以定义与 CSV 文件中的列对应的属性,并添加一个构造函数和 getter/setter 方法:
```
public class CsvData {
private String name;
private int age;
public CsvData(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
3. 使用 `opencsv` 库来解析 CSV 文件并将其转换为 `CsvData` 对象列表。以下是一个示例代码:
```
List<CsvData> dataList = new ArrayList<>();
try {
// 从 assets 文件夹中读取 CSV 文件
InputStream inputStream = getAssets().open("data.csv");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
// 使用 opencsv 库解析 CSV 文件
CSVReader reader = new CSVReaderBuilder(inputStreamReader).withSkipLines(1).build();
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
// 将 CSV 行转换为 CsvData 对象
CsvData data = new CsvData(nextLine[0], Integer.parseInt(nextLine[1]));
dataList.add(data);
}
} catch (IOException e) {
e.printStackTrace();
}
```
在上面的代码中,我们首先从 assets 文件夹中读取名为 "data.csv" 的 CSV 文件。然后使用 `CSVReader` 类将 CSV 文件解析为行数组。由于第一行通常包含列标题,因此我们使用 `withSkipLines(1)` 方法跳过第一行。最后,我们使用 `CsvData` 构造函数将每一行转换为一个 `CsvData` 对象,并将其添加到 `dataList` 列表中。
这是一个简单的示例,您可以根据您的 CSV 文件的结构和数据类型进行修改和扩展。
阅读全文