【问题标题】:>>>>Self Configuring Tagged DIP<<<< file convertion>>>>自配置标记DIP<<<<文件转换
【发布时间】:2015-01-22 22:02:39
【问题描述】:

我有 100 多个需要帮助格式化的数据文件,它们看起来像这样:

"DocTypeName","DocDate","Loan Number","Property Name","Borrower Name","Address","City","State","Document Handle","DiskgroupNum","VolumeNum","NumOfPages","FileSize","DocRevNum","Rendition","PhysicalPageNum","ItemPageNum","FileTypeNum","ImageType","Compress","Xdpi","Ydpi","FileName"
"System Maintenance Forms","3/18/2013","893102103","sample","sample","sample","DECATUR","GA","599954","102","110","0","303909","0","1","0","0","16","0","2","0","0","\V110\1366\798567.pdf"
"Post Closing Contact Sheet","3/18/2013","893102103","sample","sample","sample","DECATUR","GA","2013 02 26 BWR CONTACT INFO UPDATE FOORM","599983","102","110","0","276653","0","1","0","0","16","0","2","0","0","\V110\1366\798596.pdf"

文件目前如下所示:

>>>>Self Configuring Tagged DIP<<<<
        BEGIN:
        >>DocTypeName: System Maintenance Forms
        >>DocDate: 3/18/2013
        Loan Number: 893102103
        Property Name: sample
        Borrower Name: sample
        Address: sample
        City: DECATUR
        State: GA
        Document Handle: 599954
        >>DiskgroupNum: 102
        >>VolumeNum: 110
        >>NumOfPages: 0
        >>FileSize: 303909
        >>DocRevNum: 0
        >>Rendition: 1
        >>PhysicalPageNum: 0
        >>ItemPageNum: 0
        >>FileTypeNum: 16
        >>ImageType: 0
        >>Compress: 2
        >>Xdpi: 0
        >>Ydpi: 0
        >>FileName: \V110\1366\798567.pdf
        BEGIN:
        >>DocTypeName: Post Closing Contact Sheet
        >>DocDate: 3/18/2013
        Loan Number: 893102103
        Property Name: sample
        Borrower Name: sample
        Address: sample 
        City: DECATUR
        State: GA
        Ad Hoc: 2013 02 26 BWR CONTACT INFO UPDATE FOORM
        Document Handle: 599983
        >>DiskgroupNum: 102
        >>VolumeNum: 110
        >>NumOfPages: 0
        >>FileSize: 276653
        >>DocRevNum: 0
        >>Rendition: 1
        >>PhysicalPageNum: 0
        >>ItemPageNum: 0
        >>FileTypeNum: 16
        >>ImageType: 0
        >>Compress: 2
        >>Xdpi: 0
        >>Ydpi: 0
        >>FileName: \V110\1366\798596.pdf
        BEGIN:
        >>DocTypeName: Insurance ACORD
        >>DocDate: 1/11/2008
        Policy Number: 91QB94439
        Effective Date: 01/24/2008
        Expiration Date: 01/24/2009
        Loan Number: 893102103
        Property Name: sample
        Borrower Name: sample
        Address: 3642 sample
        City: DECATUR
        State: GA
        Document Handle: 98326
        >>DiskgroupNum: 102
        >>VolumeNum: 24
        >>NumOfPages: 1
        >>FileSize: 74839
        >>DocRevNum: 0
        >>Rendition: 0
        >>PhysicalPageNum: 0
        >>ItemPageNum: 0
        >>FileTypeNum: 2
        >>ImageType: 0
        >>Compress: 2
        >>Xdpi: 0
        >>Ydpi: 0
        >>FileName: \V24\202\133225.TIF
        >>DiskgroupNum: 102
        >>VolumeNum: 24
        >>NumOfPages: 1
        >>FileSize: 74839
        >>DocRevNum: 0
        >>Rendition: 0
        >>PhysicalPageNum: 1
        >>ItemPageNum: 1
        >>FileTypeNum: 2
        >>ImageType: 0
        >>Compress: 2
        >>Xdpi: 0
        >>Ydpi: 0
        >>FileName: \V24\202\133225.TIF
        BEGIN:
        >>DocTypeName: Insurance ACORD
        >>DocDate: 1/2/2008
        Policy Number: 91QB94439
        Effective Date: 01/24/2008
        Expiration Date: 01/24/2009
        Loan Number: 893102103
        Property Name: sample
        Borrower Name: sample
        Address: sample
        City: DECATUR
        State: GA
        Document Handle: 94202
        >>DiskgroupNum: 102
        >>VolumeNum: 23
        >>NumOfPages: 1
        >>FileSize: 78846
        >>DocRevNum: 0
        >>Rendition: 0
        >>PhysicalPageNum: 0
        >>ItemPageNum: 0
        >>FileTypeNum: 2
        >>ImageType: 0
        >>Compress: 2
        >>Xdpi: 0
        >>Ydpi: 0
        >>FileName: \V23\194\128851.TIF
        >>DiskgroupNum: 102
        >>VolumeNum: 23
        >>NumOfPages: 1
        >>FileSize: 78846
        >>DocRevNum: 0
        >>Rendition: 0
        >>PhysicalPageNum: 1
        >>ItemPageNum: 1
        >>FileTypeNum: 2
        >>ImageType: 0
        >>Compress: 2
        >>Xdpi: 0
        >>Ydpi: 0
        >>FileName: \V23\194\128851.TIF

有一个类似的问题,但我没有看到答案:Removing entire lines from text with regex, ignoring duplicates and only leaving lines according to criteria

任何帮助将不胜感激。 VB、SQL 或其他。

谢谢...

【问题讨论】:

  • 我在这篇文章中没有看到任何问题...

标签: regex tsql vbscript get


【解决方案1】:

您的示例文件包含至少 3 种不同结构的 5 条记录。如果要将 100 个文件转换为(某种).csv,则需要一个更好/更详细的计划。

让您开始解析子任务:

Option Explicit

Class cParser
  Private r
  Private d
  Private Sub Class_Initialize()
    Set r       = New RegExp
    r.Global    = True
    r.MultiLine = True
    r.Pattern   = "^\s+(?:>>)?([^:]+):\s*(.+)\r$"
    Set d       = CreateObject("Scripting.Dictionary")
  End Sub
  Public Function parse(s)
    Dim ms : Set ms = r.Execute(s)
    If 0 = ms.Count Then
       WScript.Echo "parse error"
       WScript.Echo s
       WScript.Quit 1
    End If
    d.RemoveAll
    Dim i
    For i = 0 To ms.Count - 1
       d(ms(i).SubMatches(0)) = ms(i).SubMatches(1)
    Next
    Set parse = d
  End Function
End Class

Dim aAll : aAll  = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(".\28099507.txt").ReadAll(), "BEGIN:")
Dim p    : Set p = New cParser
Dim i, d
For i = 1 To UBound(aAll)
  Set d = p.parse(aAll(i))
  WScript.Echo Join(d.Keys(), ",")
  WScript.Echo Join(d.Items(), ",")
  WScript.Echo
Next

输出:

cscript 28099507.vbs
DocTypeName,DocDate,Loan Number,Property Name,Borrower Name,Address,City,State,Document Handle,DiskgroupNum,Vo
lumeNum,NumOfPages,FileSize,DocRevNum,Rendition,PhysicalPageNum,ItemPageNum,FileTypeNum,ImageType,Compress,Xdp
i,Ydpi,FileName
System Maintenance Forms,3/18/2013,893102103,sample,sample,sample,DECATUR,GA,599954,102,110,0,303909,0,1,0,0,1
6,0,2,0,0,\V110\1366\798567.pdf

DocTypeName,DocDate,Loan Number,Property Name,Borrower Name,Address,City,State,Ad Hoc,Document Handle,Diskgrou
pNum,VolumeNum,NumOfPages,FileSize,DocRevNum,Rendition,PhysicalPageNum,ItemPageNum,FileTypeNum,ImageType,Compr
ess,Xdpi,Ydpi,FileName
Post Closing Contact Sheet,3/18/2013,893102103,sample,sample,sample,DECATUR,GA,2013 02 26 BWR CONTACT INFO UPD
ATE FOORM,599983,102,110,0,276653,0,1,0,0,16,0,2,0,0,\V110\1366\798596.pdf

DocTypeName,DocDate,Policy Number,Effective Date,Expiration Date,Loan Number,Property Name,Borrower Name,Addre
ss,City,State,Document Handle,DiskgroupNum,VolumeNum,NumOfPages,FileSize,DocRevNum,Rendition,PhysicalPageNum,I
temPageNum,FileTypeNum,ImageType,Compress,Xdpi,Ydpi,FileName
Insurance ACORD,1/11/2008,91QB94439,01/24/2008,01/24/2009,893102103,sample,sample,3642 sample,DECATUR,GA,98326
,102,24,1,74839,0,0,1,1,2,0,2,0,0,\V24\202\133225.TIF

DocTypeName,DocDate,Policy Number,Effective Date,Expiration Date,Loan Number,Property Name,Borrower Name,Addre
ss,City,State,Document Handle,DiskgroupNum,VolumeNum,NumOfPages,FileSize,DocRevNum,Rendition,PhysicalPageNum,I
temPageNum,FileTypeNum,ImageType,Compress,Xdpi,Ydpi,FileName
Insurance ACORD,1/2/2008,91QB94439,01/24/2008,01/24/2009,893102103,sample,sample,sample,DECATUR,GA,94202,102,2
3,1,78846,0,0,1,1,2,0,2,0,0,\V23\194\128851.TIF

【讨论】:

  • 感谢 Ekkehard.Horner 的回复。作为新手,请原谅我的下一个问题。这段代码是excel、vb还是c#?
  • @user1926883 - 与您的标签相同:VBScript。
猜你喜欢
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多