This topic created in 1669 days ago, the information mentioned may be changed or developed.
读取 csv 真有点麻烦
wps 导出的 csv 和 MS office 导出的 csv (有 2 种格式,一种是 UTF-8 CSV ,带 BOM ,另一种是逗号分隔的 CSV )都有点不兼容
有没有比较好的 Java 解决方案,类似 easyexcel 工具,我现在用 common-csv ,谢谢
6 replies • 2023-09-27 17:21:27 +08:00
 |
|
1
gxm44 Oct 28, 2021
你这里的“读取 CSV 遇到乱码”,是程序里读出来的 csv 是乱码?
|
 |
|
3
e583409 Oct 28, 2021
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)))); CSVParser parser = CSVParser.parse(br, CSVFormat.EXCEL.builder().setHeader().setSkipHeaderRecord(true).build()); List<String> headers = parser.getHeaderNames(); List<CSVRecord> dataList = parser.getRecords();
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)), "GBK"));//"UTF-8" parser = CSVParser.parse(br, CSVFormat.EXCEL.builder().setHeader().setSkipHeaderRecord(true).build()); headers = parser.getHeaderNames(); dataList = parser.getRecords();
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8"));//"UTF-8" parser = CSVParser.parse(br, CSVFormat.EXCEL.builder().setHeader().setSkipHeaderRecord(true).build()); headers = parser.getHeaderNames(); dataList = parser.getRecords();
|
 |
|
4
SoloCompany Oct 28, 2021 via iPhone
bom detect 加 utf8 detect 加 gb18030 fallback
|
 |
|
6
qiancheng Sep 27, 2023
```python BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)))); CSVParser parser = CSVParser.parse(br, CSVFormat.EXCEL.builder().setHeader().setSkipHeaderRecord(true).build()); List<String> headers = parser.getHeaderNames(); List<CSVRecord> dataList = parser.getRecords();
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)), "GBK"));//"UTF-8" parser = CSVParser.parse(br, CSVFormat.EXCEL.builder().setHeader().setSkipHeaderRecord(true).build()); headers = parser.getHeaderNames(); dataList = parser.getRecords();
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8"));//"UTF-8" parser = CSVParser.parse(br, CSVFormat.EXCEL.builder().setHeader().setSkipHeaderRecord(true).build()); headers = parser.getHeaderNames(); dataList = parser.getRecords(); ```
|