У меня есть файл с разделителями трубы, который был экспортирован из обновления сервера. Есть около 134 миллионов записей. Я использую Excel, чтобы импортировать небольшое количество записей (1000–10 000), чтобы исследовать данные и искать проблемы, прежде чем читать их в другие программы (например, SAS).

Существует проблема в файле около записи 6200, но я не могу прочитать в этом файле, так как Excel будет читать только в первых 3200 записях. Я обнаружил, что в файле есть несколько меток конца файла (файл из Linux, с окнами, которые находят шестнадцатеричную кодировку 1A, которая отмечает конец файла). У любого есть идея, как обойти это. Мой текущий код выглядит следующим образом:

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

1 ответ1

0

Попробуйте найти и заменить значение в файле:

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

Или вы можете использовать регулярные выражения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .