的步骤如下:
步骤1:导入所需的库 首先,确保已经引入了Apache Commons CSV库。您可以在Maven或Gradle等项目管理工具中添加以下依赖项:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.8</version>
</dependency>
步骤2:准备数据 创建一个带有标头的HashMaps列表,其中每个HashMap代表一行数据,键值对表示列名和对应的值。例如:
List<Map<String, String>> dataList = new ArrayList<>();
Map<String, String> row1 = new HashMap<>();
row1.put("Name", "John");
row1.put("Age", "25");
row1.put("City", "New York");
dataList.add(row1);
Map<String, String> row2 = new HashMap<>();
row2.put("Name", "Emily");
row2.put("Age", "30");
row2.put("City", "London");
dataList.add(row2);
步骤3:创建CSVWriter并写入数据
创建CSVWriter对象并使用其writeAll()
方法写入数据到CSV文件。以下是完整的代码示例:
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CsvWriterExample {
public static void main(String[] args) {
List<Map<String, String>> dataList = new ArrayList<>();
Map<String, String> row1 = new HashMap<>();
row1.put("Name", "John");
row1.put("Age", "25");
row1.put("City", "New York");
dataList.add(row1);
Map<String, String> row2 = new HashMap<>();
row2.put("Name", "Emily");
row2.put("Age", "30");
row2.put("City", "London");
dataList.add(row2);
String csvFilePath = "data.csv";
try (FileWriter fileWriter = new FileWriter(csvFilePath);
CSVPrinter csvPrinter = new CSVPrinter(fileWriter, CSVFormat.DEFAULT.withHeader("Name", "Age", "City"))) {
for (Map<String, String> dataMap : dataList) {
csvPrinter.printRecord(dataMap.get("Name"), dataMap.get("Age"), dataMap.get("City"));
}
csvPrinter.flush();
System.out.println("CSV file successfully written!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
此代码创建了一个名为data.csv
的CSV文件,并将数据写入其中。CSV文件的第一行将作为标头,包括"Name"、"Age"和"City"列。随后的行将包含HashMaps中对应的值。
注意:请确保文件路径是正确的,并且您具有文件写入权限。
以上是使用Apache Commons CSV从带有标头的HashMaps列表中写入CSV的完整示例代码。根据您的具体需求,您可以使用不同的CSVFormat和定制选项,例如定制分隔符、引用字符等。
腾讯云相关产品和产品介绍链接地址:
请注意,以上提到的腾讯云产品仅作为示例,并非对其他品牌商的替代推荐。在实际使用时,应根据具体需求选择合适的云计算品牌商和产品。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云