gpt4 book ai didi

sql - 如何让 ADO 将 .csv 文件中的所有日期识别为美国日期?

转载 作者:行者123 更新时间:2023-12-02 11:06:18 25 4
gpt4 key购买 nike

我有一个名为*your path*\Test\Test.accdb的 MS Access DB它包含一个名为 Table1

的表

我有两个 .csv 文件:

  • “您的路径\Test\Test_Data_20190111.csv”

  • “您的路径\Test\Test_Data_20190114.csv”

以美国格式存储的日期数据如下:

Date(MM/DD/YYYY),TestField  
1/11/2019,C
1/11/2019,D

Date(MM/DD/YYYY),TestField
1/14/2019,A
1/14/2019,B

我使用下面的 VBA 代码(使用 ADODB.Recordset)从 .csv 文件上传数据,

Sub Upload_CSV_to_MSDB()

Dim xlcon As ADODB.Connection
Dim xlrs As ADODB.Recordset
Dim strSQL As String
Dim strFile_Path_Name As String
Dim cnStr As String

' Set ADO object variable
Set xlcon = New ADODB.Connection
Set xlrs = New ADODB.Recordset

' Set string variables
strFile_Path_Name = "your path \Test\"
strSQL = "INSERT INTO Table1 IN ' your path \Test\Test.accdb' " & _
"SELECT [Date(MM/DD/YYYY)], [TestField] " & _
"FROM Test_Data_20190111.csv"

' Set connection string to CSV file
cnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & strFile_Path_Name & ";" & _
"Extended Properties=""text;HDR=Yes;FMT=Delimited;"""

' Execute strSQl by opening record set
xlrs.Open strSQL, cnStr, adOpenStatic, adLockOptimistic

Set xlrs = Nothing
Set xlcon = Nothing

End Sub

当我上传文件 Test_Data_20190111.csv 的数据时,ADO 会将日期识别为英国格式,但对于 Test_Data_20190114.csv,日期将识别为美国格式,因为没有 14 月。

如何运行与上面的代码类似的代码,并让它将 .csv 文件中的任何日期识别为美国格式?请注意,数据的日期采用美国格式,但我的区域计算机设置为英国日期格式;我不想更改这些区域设置。

谢谢。

最佳答案

我已经很久没有这样做了,我忘记了具体的细节。不过我相信您需要使用 Schema.ini 文件。

在 csv 文件所在的目录中,添加一个名为 Schema.ini 的文件,其中每个文件都有一个部分。该部分的设置允许您指定每列的格式,如下所示:

[Test_Data_20190111.csv]
Format=CSVDelimited
ColNameHeader=True
DateTimeFormat=MM/DD/YYYY
Col1=Date(MM/DD/YYYY) DateTime
Col2=TestField Text

[Test_Data_20190114.csv]
Format=CSVDelimited
ColNameHeader=True
DateTimeFormat=MM/DD/YYYY
Col1=Date(MM/DD/YYYY) DateTime
Col2=TestField Text

有关更多详细信息,请参阅 Microsoft 文档 Scehma.ini files .

关于sql - 如何让 ADO 将 .csv 文件中的所有日期识别为美国日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56107711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com