下面是“Linux下将excel数据导入到mssql数据库中的方法”的完整攻略:
准备工作
-
安装FreeTDS和unixODBC
sudo apt-get update
sudo apt-get install freetds-dev unixodbc-dev -
安装Python包pyodbc
pip install pyodbc
步骤
-
创建一个ODBC数据源
在Linux命令行窗口中运行下面的命令,创建数据源“mydatasource”,并指定MSSQL服务器的地址、端口、数据库名称、用户名和密码:
sudo odbcinst -i -s -f /usr/share/tdsodbc/odbcinst.ini
sudo odbcinst -i -d -f /usr/share/tdsodbc/odbc.ini
sudo nano /etc/odbc.ini编辑odbc.ini文件,添加以下内容:
[mydatasource]
Driver = FreeTDS
Servername = SQLServer
Database = mydatabase
UserName = myusername
Password = mypassword
Port = 1433
TDS_Version = 7.0注意,其中的“Driver”、“Servername”、“Database”、“UserName”和“Password”应该修改为你自己的服务器地址、数据库名称和登录信息。
-
编写Python脚本
在Linux命令行窗口中运行下面的命令,在当前目录下创建一个名为“import_excel.py”的Python脚本:
nano import_excel.py
编辑import_excel.py文件,添加以下内容:
```python
import pyodbc
import pandas as pddef import_data(excel_file):
# Load Excel file
data = pd.read_excel(excel_file)# Connect to ODBC data source cnxn = pyodbc.connect('DSN=mydatasource') cursor = cnxn.cursor() # Insert data into database for row in data.itertuples(): cursor.execute(""" INSERT INTO mytable (column1, column2, column3) VALUES (?, ?, ?) """, row.column1, row.column2, row.column3) cursor.commit() cursor.close() cnxn.close()
if name == 'main':
import_data('example.xlsx')
```注意,其中的“mydatasource”和“mytable”应该修改为你自己的数据源和数据表名称,而“example.xlsx”就是你要导入的Excel文件名。
-
运行Python脚本
在Linux命令行窗口中运行下面的命令,运行Python脚本:
python import_excel.py
脚本会自动将Excel文件的数据导入到MSSQL数据库中。
示例
以下是两条示例说明:
示例1:导入简单表格数据
假设我们要将以下的Excel表格数据导入到MSSQL数据库中:
Name | Age | Gender |
---|---|---|
Alice | 25 | Female |
Bob | 30 | Male |
Charlie | 35 | Male |
-
创建ODBC数据源
在命令行窗口中执行如下命令,创建一个名为“mydatasource”的ODBC数据源,用于连接MSSQL服务器:
sudo odbcinst -i -s -f /usr/share/tdsodbc/odbcinst.ini
sudo odbcinst -i -d -f /usr/share/tdsodbc/odbc.ini
sudo nano /etc/odbc.ini编辑odbc.ini文件,添加以下内容:
[mydatasource]
Driver = FreeTDS
Servername = myserver
Database = mydatabase
UserName = myusername
Password = mypassword
Port = 1433
TDS_Version = 7.0其中,“myserver”、“mydatabase”、“myusername”和“mypassword”应该替换为你自己的服务器地址、数据库名称、登录用户名和密码。
-
编写Python脚本
在命令行窗口中执行如下命令,创建一个名为“import_data.py”的Python脚本:
nano import_data.py
编辑import_data.py文件,添加以下内容:
```python
import pyodbc
import pandas as pddef import_data(excel_file):
# Load Excel file
data = pd.read_excel(excel_file)# Connect to ODBC data source cnxn = pyodbc.connect('DSN=mydatasource') cursor = cnxn.cursor() # Insert data into database for row in data.itertuples(): cursor.execute(""" INSERT INTO mytable (Name, Age, Gender) VALUES (?, ?, ?) """, row.Name, row.Age, row.Gender) cursor.commit() cursor.close() cnxn.close()
if name == 'main':
import_data('example.xlsx')
```其中,“mytable”应该替换为你自己的数据表名称,“example.xlsx”就是你要导入的Excel文件名,保存并退出文件编辑。
-
运行Python脚本
在Linux命令行窗口中,执行如下命令,运行Python脚本:
python import_data.py
脚本会自动将Excel文件中的数据导入到MSSQL数据库中的“mytable”数据表里面。
示例2:导入复杂表格数据
假设我们要将以下的Excel表格数据导入到MSSQL数据库中:
City | Address | Latitude | Longitude |
---|---|---|---|
Beijing | Zhongguancun street,Haidian district,Beijing | 39.977679 | 116.3134083 |
Guangzhou | Tianhe district,Guangzhou,GD,China | 23.128994 | 113.259245 |
Hangzhou | Xihu district,Hangzhou,ZJ,China | 30.2595522 | 120.1368619 |
其中,Address字段包含中英文、数字和逗号等复杂字符。
-
创建ODBC数据源
同上。
-
编写Python脚本
在命令行窗口中执行如下命令,创建一个名为“import_data.py”的Python脚本:
nano import_data.py
编辑import_data.py文件,添加以下内容:
```python
import pyodbc
import pandas as pddef import_data(excel_file):
# Load Excel file
data = pd.read_excel(excel_file)# Connect to ODBC data source cnxn = pyodbc.connect('DSN=mydatasource') cursor = cnxn.cursor() # Insert data into database for row in data.itertuples(): cursor.execute(""" INSERT INTO mytable (City, Address, Latitude, Longitude) VALUES (?, ?, ?, ?) """, row.City, row.Address, row.Latitude, row.Longitude) cursor.commit() cursor.close() cnxn.close()
if name == 'main':
import_data('example.xlsx')
```其中,“mytable”应该替换为你自己的数据表名称,“example.xlsx”就是你要导入的Excel文件名,保存并退出文件编辑。
-
运行Python脚本
在Linux命令行窗口中,执行如下命令,运行Python脚本:
python import_data.py
脚本会自动将Excel文件中的数据导入到MSSQL数据库中的“mytable”数据表里面。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下将excel数据导入到mssql数据库中的方法 - Python技术站