用Python将Excel数据导入到SQL Server的例子

我可以为您提供详细的讲解。

1. 准备工作

在实现将Excel数据导入到SQLServer之前,我们需要做一些准备工作:

  1. 安装Python和相应的依赖库
  2. 安装SQLServer的Python包
  3. 准备Excel数据文件和SQLServer数据库

其中,安装Python和相应的依赖库可以参考Python官方网站和pip。安装SQLServer的Python包可以参考Microsoft官方文档。准备Excel数据文件和SQLServer数据库则可以根据自己的需求进行准备。

2. 将Excel数据导入到SQLServer的步骤

下面,我们来看具体的将Excel数据导入到SQLServer的步骤。

2.1 连接到SQLServer数据库

首先,我们需要连接到SQLServer数据库。Python可以使用pyodbc模块来连接到SQLServer数据库,代码如下:

import pyodbc

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=testdb;UID=username;PWD=password')
cursor = cnxn.cursor()

其中,ODBC Driver 17 for SQL Server表示SQLServer使用的ODBC驱动程序版本号,localhost表示数据库所在的服务器地址,testdb表示数据库的名称,usernamepassword表示连接数据库的用户名和密码。

2.2 读取Excel数据

接下来,我们需要读取Excel数据。Python可以使用pandas模块来读取Excel数据,代码如下:

import pandas as pd

df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

其中,data.xlsx表示Excel数据文件所在的路径,Sheet1表示要读取的工作表的名称。

2.3 将Excel数据插入到SQLServer

最后,我们需要将Excel数据插入到SQLServer。Python可以使用SQL语句来插入数据,代码如下:

for index, row in df.iterrows():
    cursor.execute("INSERT INTO dbo.test_table (column1, column2, column3) values (?, ?, ?)", row['column1'], row['column2'], row['column3'])

cnxn.commit()

其中,test_table是数据库中的表的名称,column1column2column3是表中的列的名称,要根据实际情况进行修改。

2.4 完整示例代码

下面是将Excel数据导入到SQLServer的完整示例代码:

import pyodbc
import pandas as pd


# 连接到SQLServer数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=testdb;UID=username;PWD=password')
cursor = cnxn.cursor()

# 读取Excel数据
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 将Excel数据插入到SQLServer
for index, row in df.iterrows():
    cursor.execute("INSERT INTO dbo.test_table (column1, column2, column3) values (?, ?, ?)", row['column1'], row['column2'], row['column3'])

# 提交更改
cnxn.commit()

3. 示例说明

以下是两个示例,说明如何将Excel数据导入到SQLServer:

示例1:将Excel数据导入到新创建的表中

假设我们有一个名为data.xlsx的Excel表格文件,包含三列,分别为nameagegender,且该Excel表格文件所在的路径为C:\temp\data.xlsx。我们想要将该Excel表格文件中的数据导入到SQLServer中的一个新表中,用以下代码来实现:

import pyodbc
import pandas as pd


# 连接到SQLServer数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=testdb;UID=username;PWD=password')
cursor = cnxn.cursor()

# 读取Excel数据
df = pd.read_excel('C:\temp\data.xlsx', sheet_name='Sheet1')

# 创建新的表
create_table_sql = '''
CREATE TABLE dbo.test_table (
  id INT IDENTITY(1,1),
  name NVARCHAR(50),
  age INT,
  gender NVARCHAR(10),
  PRIMARY KEY (id)
)
'''
cursor.execute(create_table_sql)

# 将Excel数据插入到SQLServer
for index, row in df.iterrows():
    cursor.execute("INSERT INTO dbo.test_table (name, age, gender) values (?, ?, ?)", row['name'], row['age'], row['gender'])

# 提交更改
cnxn.commit()

该代码会将Excel表格中的数据插入到新建的名为test_table的表格中。

示例2:更新已有表格中的数据

假设我们已经在SQLServer中创建了一个名为test_table的表格,并且包含三列,分别为nameagegender。现在我们想要将一个名为data.xlsx的Excel表格文件中的数据插入到该表格中,用以下代码来实现:

import pyodbc
import pandas as pd


# 连接到SQLServer数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=testdb;UID=username;PWD=password')
cursor = cnxn.cursor()

# 读取Excel数据
df = pd.read_excel('C:\temp\data.xlsx', sheet_name='Sheet1')

# 将Excel数据插入到SQLServer
for index, row in df.iterrows():
    cursor.execute("INSERT INTO dbo.test_table (name, age, gender) values (?, ?, ?)", row['name'], row['age'], row['gender'])

# 提交更改
cnxn.commit()

该代码会将Excel表格中的数据插入到名为test_table的表格中,如果表格中已存在相同的数据,则会进行更新操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Python将Excel数据导入到SQL Server的例子 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 树莓派 Crontab Python 脚本需要写权限

    【问题标题】:Raspberry Pi Crontab Python script needs write permission树莓派 Crontab Python 脚本需要写权限 【发布时间】:2023-04-04 02:34:01 【问题描述】: 我有一个 python 脚本,我想每 15 分钟在我的树莓派上运行一次。该脚本应该做一些事情,然后将报告发布…

    Python开发 2023年4月6日
    00
  • Python正则表达式 r'(.*) are (.*?) .*’的深入理解

    Python正则表达式 r'(.) are (.?) .*’的深入理解 正则表达式是一种强大的文本处理工具,可以用于各种本处理任务,如数据清洗、文本分析、信息提取等。在Python中,我们可以使用re模块来操作正则表达式。本攻略将详细讲解Python正则表达式中的r'(.) are (.?) .*’,括正则表达式中的元字符、获组、非贪婪匹配等概念,以及如何使…

    python 2023年5月14日
    00
  • python 实现的车牌识别项目

    Python 实现的车牌识别项目攻略 1. 车牌识别项目简介 车牌识别项目是一个利用计算机视觉技术实现的智能交通系统,通过摄像头获取车辆的图片,对车牌进行识别,从而实现自动化管理。本项目使用Python语言进行开发,采用了OpenCV和Keras等常用的计算机视觉和机器学习库。 2. 项目开发流程 2.1 数据采集 首先需要采集大量的车牌图片进行训练,可以使…

    python 2023年5月18日
    00
  • 人工神经网络算法知识点总结

    以下是关于“人工神经网络算法知识点总结”的完整攻略: 简介 人工神经网络是一种模拟人脑神经系统的计算模型,它可以用于分类、回归、聚类等任务。在本教程中,我们将介绍人工神经网络算法的知识点,包括神经元、激活函数、前向传播、反向传播等。 神经元 神经元是人工神经网络的基本单元,它接收输入信号并产生输出信号。神经元通常由多个输入和一个输出组成,每个输入都有一个权重…

    python 2023年5月14日
    00
  • Python学习之time模块的基本使用

    下面是针对“Python学习之time模块的基本使用”的完整攻略。 1. time模块简介 time模块是Python内置的一个与时间相关的标准库,包含了一些处理时间的函数和类。这个模块提供了许多函数来获取、处理和操作时间。在Python中,时间一般表示为以秒为单位的浮点数。 2. time模块的基本使用 2.1 获取当前时间 time模块提供了获取当前时间…

    python 2023年6月2日
    00
  • python 常见的反爬虫策略

    针对Python常见的反爬虫策略,我列举以下几种: 一、headers反爬虫策略 在requests.get()或其他requests请求中,headers可以用于模拟浏览器向网站发送请求。因此,最基本的headers反爬虫策略是检测请求中的headers是否含有某些特定信息,例如User-Agent。如果请求中不包含正常浏览器的headers,很可能就会被…

    python 2023年5月14日
    00
  • Python常见数字运算操作实例小结

    下面是详细讲解“Python常见数字运算操作实例小结”的完整攻略。 Python常见数字运算操作 Python是一种强大的编程语言,提供了丰富的数字运算操作。下面介绍Python常见的数字运算操作。 加法、减法、乘法和除法 加法、减法、乘法和除法是Python中最基本的数字运算操作,可以使用加号、减号、乘号和除号来实现。 下面是一个Python实现加法、减法…

    python 2023年5月14日
    00
  • Python:替换列表中的 \n \r \t,不包括以 \n\n 开头并以 \n\r\n\t 结尾的列表

    【问题标题】:Python: replace \n \r \t in a list excluding those starting \n\n and ends with \n\r\n\tPython:替换列表中的 \n \r \t,不包括以 \n\n 开头并以 \n\r\n\t 结尾的列表 【发布时间】:2023-04-03 00:32:01 【问题描述】…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部