首页 > 解决方案 > 将日期从 Excel 导入 Microsoft SQL Server Management Studio

问题描述

希望每个人都很好,并保持安全。

我正在使用 Python 将 Excel 文件上传到 SQL。我有三个字段:CarNumber nvarchar(50)、Status nvarchar(50) 和 DisassemblyStart 日期。

我在导入 DisassemblyStart 字段日期时遇到问题。使用 Python 的连接和事务是成功的。

但是,即使 Excel 文件中填充了日期,我也会得到零。我试过切换到 nvarchar(50)、日期和日期时间,看看我是否至少能得到一个字符串,什么也没有。我将 Excel 文件保存为 CSV 和 TXT 并尝试上传它,但仍然是零。我在 Excel 中的每个日期都添加了 0.001(以添加人工时间),以防万一,但什么也没发生。还是零。我敢肯定,杂草太多是一个重大的疏忽。我需要帮助。

Excel 文件具有三个字段列。

这是 Python 代码:

import pandas as pd
import pyodbc

# Import CSV
data = pd.read_csv (r'PATH_TO_CSV\\\XXX.csv')   
df = pd.DataFrame(data,columns= ['CarNumber','Status','DisassemblyStart'])
df = df.fillna(value=0)


# Connect to SQL Server
conn = pyodbc.connect("Driver={SQL Server};Server=SERVERNAME,PORT ;Database=DATABASENAME;Uid=USER;Pwd=PW;")
cursor = conn.cursor()

# Create Table
cursor.execute ('DROP TABLE OPS.dbo.TABLE')

cursor.execute ('CREATE TABLE OPS.dbo.TABLE (CarNumber nvarchar(50),Status nvarchar(50), DisassemblyStart date)')

# Insert READ_CSV INTO TABLE 
for row in df.itertuples():

    cursor.execute('INSERT INTO OPS.dbo.TABLE (CarNumber,Status,DisassemblyStart) VALUES (?,?,Convert(datetime,?,23))',row.CarNumber,row.Status,row.DisassemblyStart)

conn.commit()
conn.close()

帮助将不胜感激。

谢谢你,注意安全

大卫

标签: pythonsqlexcel

解决方案


推荐阅读