gpt4 book ai didi

java - 解析单个 CSV 行

转载 作者:行者123 更新时间:2023-12-01 06:44:25 26 4
gpt4 key购买 nike

我得到了 CSV 文件的规范:

  • Key – 结构为 Category:ID,其中 ID 是序列号。那里不需要(或使用)将其分成两部分,只需处理键作为单个唯一值
  • 品牌 - 产品制造商
  • 型号 - 产品的型号名称
  • WeightInKg – 产品的重量,四舍五入到最接近的千克
  • 价格 - 产品的售价精确到小数点后两位 (2dp)

我有这个代码来标记每一行:

public WarehouseItem(String warehouseItem) {
String key, brand, model;
int weightInKG;
double price;
StringTokenizer strTok;

strTok = new StringTokenizer(warehouseItem);
try {
key = strTok.nextToken();
brand = strTok.nextToken();
model = strTok.nextToken();
weightInKG = Integer.parseInt(strTok.nextToken());
price = Double.valueOf(strTok.nextToken());
}
catch (Exception e) {
throw new IllegalStateException("CSV row had invalid format");
}
}

当我尝试运行它时,我收到 CSV 文件的 IllegalStateException。

Exception in thread "main" java.lang.IllegalStateException: CSV row had invalid format
at WarehouseItem.<init>(WarehouseItem.java:23) // throwing exception
at main.loadRecords(main.java:63) // records[numRows] = new WarehouseItem(warehouseItem); storing into array of objects
at main.main(main.java:26) // loadRecords(); calling the function which reads a line
at main.loadRecords(main.java:78) // main(null); recursing back to main
at main.main(main.java:26) // loadRecords(); calling the function which reads a line

以下是 CSV 文件中的行示例:

沙发:6,Fremarc,豪华,101,1871.7

我想也许是因为 key 有 ID 作为序列号?或者这根本不重要?我很困惑,任何帮助将不胜感激

最佳答案

您可能最好使用图书馆。 CSV 的解析可能出人意料地棘手。看看 OpenCSV:

http://opencsv.sourceforge.net/

CSVParser parser = new CSVParser();
String[] fields = parser.parseLine(line);

关于java - 解析单个 CSV 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com