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

yizhihongxing

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

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 内置函数 next(),该函数可以接收一个可迭代对象并返回对象的下一个元素。 针对单成员集合,可以使用 iter() 将其转化为一个迭代器,再用 next() 获取唯一元素。具体过程如下: # 使用iter()将集合转化为迭代器 s = set([1]) s_iter = iter(s) # 获取唯一元素 u…

    python 2023年6月3日
    00
  • Python基于均值漂移算法和分水岭算法实现图像分割

    下面是详细讲解“Python基于均值漂移算法和分水岭算法实现图像分割”的完整攻略,包括算法原理、Python实现和两个示例。 算法原理 图像分割是指将一幅图像分成若干个互不重叠的区域,每个区域内的像素具有相似的特征。均值漂移算法和分水岭算法是两种常用的图像分割算法。 均值漂移算法 均值漂移算法是一种基于密度估计的非参数法,其主要思想是通过对数据点进行密度估计…

    python 2023年5月14日
    00
  • Python之pandas读写文件乱码的解决方法

    请听我讲解Python中pandas读写文件乱码的解决方法完整攻略。 问题描述 在使用Python中的pandas库进行文件读写的时候,有时候会遇到文件路径或者文件本身存在中文字符的问题,导致读写文件出现乱码现象。 解决方法 pandas中对于CSV文件的读写操作有很多参数,可以通过这些参数来解决乱码问题。常用的参数有encoding、sep和quoting…

    python 2023年5月20日
    00
  • python服务器端收发请求的实现代码

    要实现 Python 服务器端的 HTTP 请求和响应,我们可以使用 Python 内置的 http.server 模块。利用该模块我们可以创建基本的 HTTP 服务器,从而进行收发请求的实现。 1. 创建基本的 HTTP 服务器 要创建一个基本的 HTTP 服务器,我们可以使用以下 Python 代码: import http.server import …

    python 2023年5月19日
    00
  • 如何利用python创建、读取和修改CSV数据文件

    当然,下面我将详细讲解如何利用python创建、读取和修改CSV数据文件的完整攻略。 创建CSV文件 要创建CSV文件,我们可以使用Python内置的csv库。可以使用csv.writer对象将数据写入CSV文件中。假设我们要写入以下数据: 名称 得分 Alice 90 Bob 85 Cindy 75 David 80 Emily 95 以下是Python代…

    python 2023年6月3日
    00
  • Python常见数据结构详解

    Python常见数据结构详解 Python中常见的数据结构主要包括列表(list)、元组(tuple)、集合(set)、字典(dictionary)等。 列表(list) 列表是Python中最常用的序列类型之一,用于存储一组元素,每个元素可以是不同的数据类型。列表的定义方式是使用方括号[]将元素括起来,并使用逗号将它们分开,例如: a_list = [1,…

    python 2023年5月13日
    00
  • 详解python算法之冒泡排序

    下面是关于“详解Python算法之冒泡排序”的完整攻略。 1. 冒泡排序算法理论基础 冒泡排序是一种简单的排序算法,它的基本思想是通过不断交换相邻的元素,将较大的元素逐渐“冒泡”到数组的末尾,从而实现排序。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1)。 2. Python实现 下面是Python实现冒泡排序的完整代码。 def bubble_so…

    python 2023年5月13日
    00
  • Python实现的各种常见分布算法示例

    下面是关于“Python实现的各种常见分布算法示例”的完整攻略。 1. 分布算法简介 分布算法是一种用于生成随机数的算法。在计算机科学中,常见的分布算法包括均匀分布、正态分布、泊松分布等。 2. Python实现常见分布算法 2.1 均匀分布 均匀分布是一种在给定区间等可能地生成随机数的算法。在Python中,我们可以使用以下代码实现均匀分布: import…

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