java - 从 JSON API 获取数据并循环放入 CSV
问题描述
我设法从 API 中获取数据并放入 CSV,但是我无法将数据循环放入 CSV,因为现在它总是在 CSV 中覆盖它。下一个问题是日期没有显示在 CSV 的不同字段中。在 CSV 中,它看起来
像这样:
我想要控制台中的所有数据:
我现在的代码:
JSONArray jsonarr_1 = (JSONArray) jobj.get("infectedByRegion");
//Get data for Results array
for(int i=0;i<jsonarr_1.size();i++)
{
//Store the JSON objects in an array
//Get the index of the JSON object and print the values as per the index
JSONObject jsonobj_1 = (JSONObject)jsonarr_1.get(i);
//Store the JSON object in JSON array as objects (For level 2 array element i.e Address Components)
String str_data1 = (String) jsonobj_1.get("region");
Long str_data2 = (Long) jsonobj_1.get("infectedCount");
Long str_data3 = (Long) jsonobj_1.get("deceasedCount");
System.out.println(str_data1);
System.out.println("Infizierte: "+str_data2);
System.out.println("Tote: "+str_data3);
System.out.println("\n");
PrintWriter pw = null;
try {
pw = new PrintWriter(new File("C:/Users/stelz/OneDrive/Desktop/Corona Daten/28.04.2020.csv"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
StringBuilder builder = new StringBuilder();
String columnNamesList = "Bundesland,Infizierte,Tote";
// No need give the headers Like: id, Name on builder.append
builder.append(columnNamesList +"\n");
builder.append(str_data1+",");
builder.append(str_data2+",");
builder.append(str_data3);
builder.append('\n');
pw.write(builder.toString());
pw.close();
System.out.println("done!");
}
//Disconnect the HttpURLConnection stream
conn.disconnect();
解决方案
看起来您正在尝试创建许多不同的 CSV?如果这不是您想要的,并且您想要一个 CSV 中的所有记录,那么我建议遍历数组,使用StringBuilder
或其他一些 CSV 工具构建一个 CSV,然后在循环之外创建文件for
。
推荐阅读
- spring - 创建spring boot gradle mutli项目
- javascript - AJAX GET 命令以获取灯的状态
- python - 逐行构造pyarrow表的最快方法
- android - 如何在使用抽屉选项的 ListView 中更改所选项目的颜色
- python - Gale-shapley算法的python实现
- python-3.7 - 尝试使用 ListView 进行搜索时出现错误:“无法使用无作为查询值”
- c++ - Tryinig 在纯 c 中对 arduino 进行编程,得到以下错误:在 'Print'| 之前预期的 '='、','、';'、'asm' 或 '__attribute__'|
- keras - Keras Tokenizer 字符级别不起作用
- mongodb - 如何不将 $ 解释为 bash 脚本
- sql-server - 如何在 sql localdb 中的每个插入查询中解决 ID 增量 1000 而不是 1