用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日

相关文章

  • python中的不可变数据类型与可变数据类型详解

    Python中的不可变数据类型与可变数据类型详解 Python中的数据类型分为两类:不可变(Immutable)和可变(Mutable)。不可变类型的值在创建后不能修改,当尝试修改时,Python会创建一个新的对象并返回新对象引用,而不是修改原对象。而可变类型的值是可以修改的,原对象的引用不会变。 以下是常见的Python中的不可变数据类型和可变数据类型: …

    python 2023年5月14日
    00
  • 如何使用Python进行爬虫开发?

    使用Python进行爬虫开发需要以下步骤: 安装Python和相应的第三方库(比如requests和beautifulsoup4) 选择目标网站,并使用requests库发送GET请求获取HTML页面 使用beautifulsoup4库解析HTML页面,提取需要的信息 将提取的信息存储到本地文件或数据库中 以下是两个示例说明: 示例1:爬取新闻网站的标题和链…

    python 2023年4月19日
    00
  • Excel 自动生成发票号码

    在 Excel 中,我们可以通过使用公式和宏来实现自动生成发票号码的功能。以下是如何在 Excel 中实现此功能的完整攻略: 在 Excel 中,选择您要自动生成发票号码的单元格。 在单元格中输入以下公式: =”INV-“&TEXT(TODAY(),”YYYYMMDD”)&”-“&TEXT(ROW(),”000”) 其中“INV”是您…

    云计算 2023年5月10日
    00
  • Python排序算法实例代码

    下面就给您详细讲解“Python排序算法实例代码”的完整攻略: 一、排序算法简介 排序算法(sorting algorithm)是计算机程序中最基础的算法之一,它是指将一组无序的数据元素,按照某种规则进行排列的过程。 常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等,它们的实现方式不同,但总体思路都是通过比较和交换元素位置来完成排序的。 …

    python 2023年5月31日
    00
  • python函数的5种参数详解

    Python函数的5种参数详解 函数是Python中最重要的工具之一。在Python中,函数有五种不同类型的参数,这让函数更加灵活和有用。下面我们将逐一介绍它们。 位置参数 位置参数是最常用的参数类型。当你传递值给函数时,Python会按照传递的值的顺序来确定哪些参数应该绑定到哪些值。这样的参数称为位置参数。下面是一个简单的例子: def greet(nam…

    python 2023年6月5日
    00
  • python 调试冷知识(小结)

    Python调试冷知识(小结) 在Python编程中,调试是非常重要的一环。在调试过程中,我们需要使用各种工具和技巧来定位和解决问题。本文将详讲解Python调试冷识(小结),包括使用pdb调试、使用traceback模块、使用logging模块等。在过程中,提供个示例说明,助读者更好地理解Python调试的注意事项。 使用pdb调试 pdb是Python自…

    python 2023年5月13日
    00
  • python构建基础的爬虫教学

    Python构建基础的爬虫教学 概述 爬虫是一种自动化抓取网页数据的程序,可以帮助我们快速获取海量数据。Python作为一种易于学习、简洁明了、功能齐全的编程语言,是非常适用于构建爬虫应用的语言。在本篇教程中,我们将介绍Python构建基础的爬虫应用的入门知识,包括Python爬虫的基本原理、库的使用以及实战案例。 基本原理 Python爬虫的基本原理是通过…

    python 2023年5月14日
    00
  • 在Python中使用HTMLParser解析HTML的教程

    在Python中使用HTMLParser解析HTML的教程 HTMLParser是Python标准库中的一个模块,可以用于解析HTML文档。在本教程中,我们将介绍如何使用HTMLParser解析HTML文档,并提供两个示例。 安装 HTMLParser是Python标准库中的一部分,因此不需要安装。 解析HTML文档 以下是一个示例,演示如何使用HTMLPa…

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部