Leia o arquivo com vários sinalizadores de fim de arquivo

0

Eu tenho um arquivo delimitado por pipe que foi exportado da atualização do servidor. Existem aproximadamente 134 milhões de registros. Estou usando o excel para importar um pequeno número de registros (1.000 a 10.000) para explorar os dados e procurar problemas antes de ler os dados em outros programas (como o SAS).

Há um problema no arquivo no registro 6200, mas não consigo ler o arquivo, pois o Excel só lerá nos primeiros 3.200 registros. Eu descobri que há várias marcas de final de arquivo no arquivo (o arquivo é do Linux, com o windows encontrando 1A hex coed que marca o fim do arquivo). Alguém tem alguma idéia de como contornar isso. Meu código atual segue:

Sub Test()
file = "c:\user\myfile"
Open file For Input As #1
For i = 1 To 10000
    Line Input #1, dat
    Cells(i, 1) = dat
Next i

Close #1
End Sub
    
por Timothy 18.05.2016 / 22:32

1 resposta

0

Tente encontrar e substituir o valor no arquivo:

Dim CellContent as String
Dim NewCellContent as String
CellContent = 'the line you're bringing in
NewCellContent = (Worksheetfunction.Substitute([your line], chr(26),vbnullstring))

Do Until CellContent = NewCellContent

    CellContent = NewCellContent
    NewCellContent = Worksheetfunction.Substitute(NewCellContent,chr(26),vbnullstring)

Loop

Ou você pode usar o regex.

    
por 19.05.2016 / 11:00