Есть ли способ загрузить и импортировать несколько файлов .tsv в excel или access?

Я пытаюсь создать базу данных из документов SEC. Заявки поступают в виде файлов .tsv и структурированы по папкам по годам и кварталам. Папка Ever содержит около 20 файлов .tsv, которые я хотел бы импортировать в Excel или Access (в зависимости от того, что более возможно). Каждый файл представляет собой одну таблицу.

Вместо того, чтобы импортировать каждый отдельный файл, есть ли способ импортировать их все одновременно? Или хотя бы все файлы одной папки одновременно?

Есть ли уже реализованная функция или мне нужно использовать Python, макрос Excel и т. д.?

Конечно, VBA может перебирать файлы в папке. Общая тема. Проведите исследование, попробуйте код и, когда у вас возникнет конкретная проблема, отправьте вопрос.

June7 13.05.2022 20:07

Поскольку данные разделены табуляцией, а не запятой, DoCmd.TransferText может не работать. Таким образом, варианты будут заключаться в том, чтобы установить ссылку на каждую таблицу и импортировать с вкладкой, определенной как разделитель, или использовать код манипулирования текстовым файлом. Независимо от метода импорта, сначала разберитесь с зацикливанием файла. Есть несколько способов сделать это. Один использует FileSystemObject, а другой использует Dir() stackoverflow.com/questions/10380312/…

June7 13.05.2022 20:19

И чтобы зациклить папку и подпапки, просмотрите allenbrowne.com/ser-59.html

June7 13.05.2022 20:48
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добро пожаловать в СО! В общем, этот форум предназначен для ответов на конкретные вопросы, основанные на том, что пробовал ты. Рекомендуется изучить темы и попробовать сначала.

Это не полное решение, ваш вопрос недостаточно конкретен.

Но вы должны быть в состоянии построить на этом образце. Практически просто укажите метод цикла файлов и отслеживайте, где каждый из файлов находится на вашем листе.

ПРИМЕЧАНИЕ. Конечно, есть много других способов сделать то же самое. Это показывает способ сделать это автоматически из Excel.

Datafile sample:  (assume TAB separated)
--------------------
H1  H2  H3
T1  T2  T3
F1  F2  F3

Этот код читает файл и импортирует так, чтобы C1R1 была текущей ячейкой.

Option Explicit

'
' sub to do import.
' Make a loop here using list of files
'
Sub TestImport()
    Call ImportTextFile("c:\Temp\excelimport.txt", vbTab, ActiveCell)
End Sub

'
' function to import
'
Public Sub ImportTextFile(strFileName As String, strSeparator As String, rngTgt As Range)
    Dim strWholeLine As String
    Dim rw As Long, col As Long
    Dim i As Long, j As Long, ary() As String, a As Variant

    Dim wks As Worksheet
    Set wks = rngTgt.Parent
    Open strFileName For Input Access Read As #1
    rw = rngTgt.Row
    col = rngTgt.Column

  
  i = rw
  Do While Not EOF(1)
     Line Input #1, strWholeLine
     ary = Split(strWholeLine, strSeparator)
     
     j = col
     For Each a In ary
        Cells(i, j).Value = a
        j = j + 1
     Next a
     i = i + 1
  Loop
  Close 1
    Set wks = Nothing
End Sub

Благодарю вас! Я понимаю, что мне еще многое предстоит узнать и выяснить, чтобы задавать более конкретные вопросы. Я ценю ваш ответ!

ManuelCukRia 13.05.2022 20:54

Другие вопросы по теме