فهرست منبع

获取csv文件中 参数名称

wanggaokun 1 سال پیش
والد
کامیت
a64e8c25a3

+ 31 - 10
PHM-admin/phm-manage/src/main/java/com/phm/manage/util/CsvUtils.java

@@ -1,5 +1,9 @@
 package com.phm.manage.util;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.text.csv.CsvData;
 import cn.hutool.core.text.csv.CsvReader;
@@ -11,10 +15,6 @@ import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
 /**
  * @Description CsvUtils
  * @Author WGK
@@ -76,16 +76,37 @@ public class CsvUtils {
      *
      * @param csvFilePath path
      */
-    public static String fileCsvToJson(String csvFilePath) {
-        // TODO csv文件转Json
+    public static JSONArray fileCsvToJson(String csvFilePath) {
         CsvReader reader = CsvUtil.getReader();
         // 从文件中读取CSV数据
         CsvData data = reader.read(FileUtil.file(csvFilePath), CharsetUtil.CHARSET_GBK);
         List<CsvRow> rows = data.getRows();
-        // 遍历行
-        for (CsvRow csvRow : rows) {
-            // getRawList返回一个List列表,列表的每一项为CSV中的一个单元格(既逗号分隔部分)
+        // 获取CSV表头,即第一行数据
+        List<String> headers = rows.get(0).getRawList();
+        // 去除第一行,保留后续数据
+        List<CsvRow> dataLines = rows.subList(1, rows.size());
+        JSONArray jsonArray = new JSONArray();
+        for (CsvRow line : dataLines) {
+            JSONObject jsonObject = new JSONObject();
+            for (int i = 0; i < headers.size(); i++) {
+                jsonObject.putOnce(headers.get(i), line.getRawList().get(i));
+            }
+            jsonArray.add(jsonObject);
         }
-        return "";
+        return jsonArray;
+    }
+
+    /**
+     * 获取csv文件中 参数名称
+     *
+     * @param csvFilePath csv文件地址
+     * @return 参数名称列表
+     */
+    public static List<String> getCsvHeaders(String csvFilePath) {
+        CsvReader reader = CsvUtil.getReader();
+        // 从文件中读取CSV数据
+        CsvData data = reader.read(FileUtil.file(csvFilePath), CharsetUtil.CHARSET_GBK);
+        List<CsvRow> rows = data.getRows();
+        return rows.get(0).getRawList();
     }
 }

+ 1 - 1
PHM-admin/phm-manage/src/main/java/com/phm/manage/util/HttpClientUtils.java

@@ -33,7 +33,7 @@ public class HttpClientUtils {
 
     private static final Integer DEFAULT_REQUEST_TIMEOUT = 10000;
 
-    private static final Integer MAX_IN_MEMORY_SIZE = 10 * 1024 * 1024;
+    private static final Integer MAX_IN_MEMORY_SIZE = 100 * 1024 * 1024;
 
     /**
      * get请求解析成字符串