You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中如何按需读取CSV指定行(如第30-50行)

读取CSV指定行范围的VB.NET实现

要实现仅读取CSV的指定行范围(如第30-50行)且避免遍历全部行,可以通过跳过前置行+读取目标范围的方式优化,以下是针对你现有代码的修改方案:

核心思路

  1. 定义目标行的起始和结束位置(注意:若CSV包含表头,需区分表头行和数据行,比如表头算第1行,数据行从第2行开始)
  2. 先跳过起始行之前的所有行,无需处理这些行的数据
  3. 读取并处理起始行到结束行的内容,完成后立即停止,不再继续遍历后续行

修改后的完整代码

' 定义目标行范围(示例:读取第30到50行,若有表头需自行调整行号)
Dim startLine As Integer = 30
Dim endLine As Integer = 50
Dim currentLine As Integer = 1

Dim textFieldParser As TextFieldParser = New TextFieldParser(TextBox1.Text) With
{
    .TextFieldType = FieldType.Delimited,
    .Delimiters = New String() {","}
}

drv = New ChromeDriver(options)

Try
    ' 第一步:跳过起始行之前的所有行
    While currentLine < startLine AndAlso Not textFieldParser.EndOfData
        textFieldParser.ReadFields() ' 仅读取不处理
        currentLine += 1
    End While

    ' 第二步:读取并处理目标行范围
    While currentLine <= endLine AndAlso Not textFieldParser.EndOfData
        Dim strArrays As String() = textFieldParser.ReadFields()
        ' 确保当前行有足够的列数
        If strArrays IsNot Nothing AndAlso strArrays.Length >= 3 Then
            Dim name As String = strArrays(0)
            Dim alamat As String = strArrays(1)
            Dim notlp As String = strArrays(2)
            
            drv.Navigate().GoToUrl("URL")
            Dim Nm = drv.FindElement(By.XPath("/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input"))
            Nm.SendKeys(name)
            Threading.Thread.Sleep(3000)
        Else
            MsgBox($"第 {currentLine} 行列数不足,已跳过")
        End If
        currentLine += 1
    End While
Catch ex As Exception
    MsgBox($"处理第 {currentLine} 行时出错:{ex.Message},已跳过")
Finally
    ' 确保释放资源
    textFieldParser.Close()
    drv.Quit()
End Try

关键说明

  • 行号计数:代码中currentLine从1开始计数,若你的CSV第一行是表头,需要读取的数据行是第30-50行(表头不算数据行),则需将startLine设为31,endLine设为51,或者调整初始currentLine为0后再判断。
  • 资源释放:新增Finally块确保TextFieldParser和ChromeDriver被正确关闭,避免资源泄漏。
  • 边界处理:加入了对strArrays是否为空、列数是否足够的判断,减少异常触发概率。

内容的提问来源于stack exchange,提问作者bebright

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 01:09:28