VBA 更新或删除 CSV 中的行
Posted
技术标签:
【中文标题】VBA 更新或删除 CSV 中的行【英文标题】:VBA update or delete row in CSV 【发布时间】:2021-07-09 16:17:18 【问题描述】:我正在做一个项目,我必须将 CSV 用作小型 SQL 数据库。 我正在使用 VBA 与该数据库进行通信。
我想知道是否有办法更新(或删除)现有行(记录)。
我已设法使用以下代码插入新行,但无法修改现有行。
Sub WriteData()
' some Code
Open str_Path For Append As #1
str_Data = ' Semicolon separated value in a string
Print #1, str_Data
Close #1
End Sub
我也尝试过使用 ADODB Recordset 对象,但我无法创建正确的连接字符串来理解分隔符是“;”。
非常感谢您的任何帮助或想法 :) 最好的, 最大
【问题讨论】:
在您尝试执行更新时发布您使用的代码将有助于您的问题。 我没试过。我已经在网上阅读了一些东西,但我没有找到我要找的东西! (也许我也是新手了解一些解决方案) 我认为您不能使用 ADO 更新 CSV 中的一行。 【参考方案1】:我确信有一个更优雅的解决方案,可能使用 VBA 的Open
语句,但我会使用 Excel,如下所示。
Dim xlApp, xlWb, xlWs
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If xlApp Is Nothing Then _
Set xlApp = CreateObject("Excel.Application")
On Error GoTo 0
Set xlWb = xlApp.Open("C:\blahblah.csv")
Set xlWs = wlWb.Sheets("Sheet1")
xlWs.Row(1).EntireRow.Delete 'Change 1 to whatever you want
【讨论】:
【参考方案2】:使用FileSystemObject object。
使用它,您可以轻松地浏览、读取、删除行并将行追加到文本文件中。
【讨论】:
以上是关于VBA 更新或删除 CSV 中的行的主要内容,如果未能解决你的问题,请参考以下文章
如何删除错误行错误的行并使用 pandas 或 numpy 读取剩余的 csv 文件?