java 使用 opencsv 处理 csv 字符串
从第三方接口 获取 报告数据,数据格式 为 CSV格式。但数据的前几列数据,不需要处理,采用 opencsv 进行处理。
1、 引入 opencsv
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.2</version>
</dependency>
2、使用opencsv 处理数据
Connection.Response response = HttpUtils.get(us_url);
String bodyStr = response.body();
saveDataToFile("123", bodyStr);
InputStream inStream = new ByteArrayInputStream(bodyStr.getBytes(StandardCharsets.UTF_8));
InputStreamReader isReader = new InputStreamReader(inStream);
String newStr = "";
int count = 0;
try {
CSVReader csvReader = new CSVReader(isReader);
int saf = csvReader.getSkipLines();
System.out.println("sdf: " + saf);
int skipLines = 7;
csvReader.skip(skipLines);
List<String[]> allData = csvReader.readAll();
int allLength = allData.size();
System.out.println("总数据长度: " + allLength);
String[] ag = allData.get(0);
System.out.println("标题数据:");
System.out.println(Arrays.toString(ag));
for (String[] cell : allData) {
count++;
String tStr = "";
for (String eum : cell) {
tStr = tStr + "\"" + eum + "\",";
}
tStr = tStr.substring(0, tStr.length() - 1);
newStr = newStr + tStr + "\n";
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("count: " + count);
3、运行结果
行数读取正确,123.csv 和 456.csv 两个文件数据,行数以及 列数 是一致的,数据内容也没有差异。
4、后记
CSV 数据的处理,基本结束了,下一步还需要把数据存入 MySQL 数据库。
|