java实现把csv文件转换成yaml文件
时间: 2023-10-07 21:07:43 浏览: 163
re-txt:将文本格式从一种转换为另一种,如果要将json文件重新格式化为yaml,toml为yaml,csv为yaml等,这非常有用。
可以使用以下步骤将 CSV 文件转换为 YAML 文件:
1. 读取 CSV 文件并解析数据。
2. 将 CSV 数据转换为 YAML 格式。
3. 将 YAML 数据写入新的文件中。
以下是一个 Java 代码示例,可以将 CSV 文件转换为 YAML 文件:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.yaml.snakeyaml.Yaml;
public class CsvToYamlConverter {
public static void main(String[] args) {
String csvFile = "input.csv";
String yamlFile = "output.yaml";
List<Map<String, Object>> data = readCsv(csvFile);
writeYaml(yamlFile, data);
}
public static List<Map<String, Object>> readCsv(String csvFile) {
List<Map<String, Object>> data = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
String line;
String[] headers = br.readLine().split(",");
while ((line = br.readLine()) != null) {
String[] values = line.split(",");
Map<String, Object> record = new LinkedHashMap<>();
for (int i = 0; i < headers.length; i++) {
record.put(headers[i], values[i]);
}
data.add(record);
}
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
public static void writeYaml(String yamlFile, List<Map<String, Object>> data) {
try (FileWriter writer = new FileWriter(yamlFile)) {
Yaml yaml = new Yaml();
yaml.dump(data, writer);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在此示例中,我们使用 `readCsv` 函数将 CSV 文件读取并解析为一个包含 `Map` 对象的列表。然后,我们使用 `writeYaml` 函数将数据写入 YAML 文件中。
请注意,此示例使用 SnakeYAML 库来执行 YAML 的读写操作。在运行此代码之前,需要将 SnakeYAML 库添加到项目的依赖项中。
阅读全文