有没有办法下载多个 .tsv 文件并将其导入 excel 或访问?
Is there a way to download and import multiple .tsv files into excel or access?
我正在尝试根据美国证券交易委员会的文件创建一个数据库。这些文件以 .tsv 文件的形式出现,并按年份和季度在文件夹中构建。 Ever 文件夹包含大约 20 个 .tsv 文件,我想将这些文件导入 Excel 或 Access(以更可行的为准)。每个文件代表一个table.
有没有办法同时导入所有文件,而不是单独导入每个文件?或者至少一次一个文件夹的所有文件?
是否有已经实现的功能或者我是否需要使用Python、Excel宏等?
欢迎来到 SO!一般来说,这个论坛是根据你的尝试来回答具体问题的。建议先研究课题再尝试
这不是完整的解决方案,您的问题不够具体。
但是您应该能够在此示例的基础上进行构建。几乎只提供文件循环方法,并跟踪每个文件在 sheet.
中的位置
注意:当然还有很多其他方法可以做到这一点。这显示了从 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
我正在尝试根据美国证券交易委员会的文件创建一个数据库。这些文件以 .tsv 文件的形式出现,并按年份和季度在文件夹中构建。 Ever 文件夹包含大约 20 个 .tsv 文件,我想将这些文件导入 Excel 或 Access(以更可行的为准)。每个文件代表一个table.
有没有办法同时导入所有文件,而不是单独导入每个文件?或者至少一次一个文件夹的所有文件?
是否有已经实现的功能或者我是否需要使用Python、Excel宏等?
欢迎来到 SO!一般来说,这个论坛是根据你的尝试来回答具体问题的。建议先研究课题再尝试
这不是完整的解决方案,您的问题不够具体。
但是您应该能够在此示例的基础上进行构建。几乎只提供文件循环方法,并跟踪每个文件在 sheet.
中的位置注意:当然还有很多其他方法可以做到这一点。这显示了从 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