Java 解析复杂的CSV文件
我现在的处境很困难,我需要制作一个解析器来解析来自tekla的格式化文档,以便在数据库中进行处理 所以在.CSV上我有这个Java 解析复杂的CSV文件,java,parsing,Java,Parsing,我现在的处境很困难,我需要制作一个解析器来解析来自tekla的格式化文档,以便在数据库中进行处理 所以在.CSV上我有这个 ,SMS-PW-BM31,,1,,,,287.9 ,,SMS-PW-BM31,1,H350*175*7*11,SS400,5805,287.9 ,------------,--------------,----,---------------,--------,------------,--------- ,SMS-PW-BM32,,1,,,,405.8 ,,SMSPW-H
,SMS-PW-BM31,,1,,,,287.9
,,SMS-PW-BM31,1,H350*175*7*11,SS400,5805,287.9
,------------,--------------,----,---------------,--------,------------,---------
,SMS-PW-BM32,,1,,,,405.8
,,SMSPW-H707,1,H350*175*7*11,SS400,6697,332.2
,,SMSPW-EN12,1,PLT12x175,SS400,500,8.2
,,SMSPW-EN14,1,PLT16x175,SS400,500,11
,------------,--------------,----,---------------,--------,------------,---------
这是由tekla软件生成的文档。我对输出的期望是这样的
HEAD-MARK COMPONENT-TYPE QUANTITY PROFILE GRADE LENGTH WEIGHT
SMS-PW-BM31 1 287.9
SMS-PW-BM31 SMS-PW-BM31 1 H350*175*7*11 SS400 5805 287.9
SMS-PW-BM32 1 405.8
SMS-PW-BM32 SMSPW-H707 1 H350*175*7*11 SS400 6697 332.2
SMS-PW-BM32 SMSPW-EN12 1 PLT12X175 SS400 500 8.2
SMS-PW-BM32 SMSPW-EN14 1 PLT16X175 SS400 500 11
如何从Java开始?最复杂的事情是分配由“-”分隔的头标记。非常简单,有一个列分隔符是逗号(,
)和一个行分隔符是新行(\n
)。有些列将被引号(“
)包围,以包含列数据,但考虑到当前文件,您似乎不必担心这一点
仔细阅读,你会在仔细思考后找到答案。如果你自己根本没有尝试过这一点,你在这里不会得到太多帮助。如果你尝试过某件事,请公布你迄今为止所做的以及哪些不起作用。@Takendark我现在会尝试这样做,非常感谢
String#split
可以帮助你。。看见