如何读取文本文件并提取指定字段数据存入表格?
解决文本字段提取与表格存储问题
嘿,我来帮你搞定这个问题!你的数据是用空格分隔的结构化内容,反复用substring找空格位置不仅麻烦,还容易因为字段长度变化出错。直接把文本按空白字符分割成数组,是更高效且健壮的做法。
提取单个字段的代码示例
File file = new File("C:/File/stat_l15.txt") def fileContent = file.text.trim() // 去除文本首尾可能的空白字符 def dataArray = fileContent.split("\\s+") // 按任意连续空白字符分割(支持多个空格、制表符等) // 从数组中提取对应字段 String name = dataArray[0] String pgName = dataArray[1] String right = dataArray[2] String left = dataArray[3] // 按要求格式输出 println "Name : $name" println "pg_name : $pgName" println "right : $right" println "left : $left"
代码说明
trim():避免文本首尾的空白字符干扰分割结果split("\\s+"):用正则表达式匹配任意连续的空白字符作为分隔符,即使数据里有多个连续空格也能正确分割- 数组索引从0开始,对应你的数据顺序:
dataArray[0]→ M10dataArray[1]→ M2GBXR100A.PGMdataArray[2]→ 8.00000000dataArray[3]→ 3.0000000
将数据存入表格
1. 存入内存表格(适合临时存储)
可以用Groovy的列表+Map结构模拟表格:
// 创建表格数据结构 def tableData = [ [ name: name, pg_name: pgName, right: right, left: left ] ] // 后续可以遍历tableData进行操作 tableData.each { row -> println "表格行数据:$row" }
2. 存入关系型数据库(以MySQL为例)
如果要存入数据库表格,可使用Groovy的Sql类简化操作:
import groovy.sql.Sql // 数据库连接配置 def dbUrl = "jdbc:mysql://localhost:3306/your_database_name" def dbUser = "your_username" def dbPass = "your_password" def driverClass = "com.mysql.cj.jdbc.Driver" // 建立连接并插入数据 def sql = Sql.newInstance(dbUrl, dbUser, dbPass, driverClass) try { sql.executeInsert( "INSERT INTO your_table_name (name, pg_name, right_val, left_val) VALUES (?, ?, ?, ?)", [name, pgName, right, left] ) println "数据成功存入表格!" } finally { sql.close() // 务必关闭连接 }
内容的提问来源于stack exchange,提问作者Code123
相关产品推荐
相关产品推荐

