配置python连接oracle,读取excel数据写入数据库

配置Python连接Oracle数据库并读取Excel数据并写入数据库

1. 安装必要的库

要连接Oracle数据库并读取Excel文件,我们需要安装以下两个库:

cx_Oracle - 用于连接Oracle数据库

pandas - 用于读取Excel文件数据

使用以下命令安装这些库:

pip install cx_Oracle

pip install pandas

2. 配置连接Oracle数据库

在开始之前,我们需要连接到Oracle数据库。首先,要连接到特定的数据库实例,我们需要知道以下信息:

主机名或IP地址

端口号

服务名称或SID

用户名

密码

使用以下代码来连接到Oracle数据库:

import cx_Oracle

# 数据库连接信息

host = "localhost"

port = 1521

service_name = "orcl"

username = "your_username"

password = "your_password"

# 建立数据库连接

dsn = cx_Oracle.makedsn(host, port, service_name=service_name)

connection = cx_Oracle.connect(username, password, dsn)

3. 读取Excel数据

接下来,我们将使用pandas库来读取Excel文件中的数据。假设我们有一个名为"data.xlsx"的Excel文件,其中包含一个名为"Sheet1"的工作表。

import pandas as pd

# 读取Excel文件数据

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

4. 将数据写入数据库

现在我们已经成功读取了Excel文件中的数据,接下来我们可以将这些数据写入Oracle数据库中的表。

首先,我们需要定义将要写入的目标表的结构。

# 表结构

table_name = "your_table_name"

columns = ["column1", "column2", "column3"] # 列名

# 创建表

create_table_query = f"CREATE TABLE {table_name} ("

for column in columns:

create_table_query += f"{column} VARCHAR2(100), "

create_table_query = create_table_query[:-2] + ")"

cursor = connection.cursor()

cursor.execute(create_table_query)

connection.commit()

接下来,我们可以使用以下代码将Excel文件中的数据插入到目标表中:

# 将数据插入表中

for row in excel_data.itertuples():

insert_query = f"INSERT INTO {table_name} VALUES ("

for column in columns:

value = getattr(row, column)

insert_query += f"'{value}', "

insert_query = insert_query[:-2] + ")"

cursor.execute(insert_query)

connection.commit()

5. 完整代码示例

下面是完整的代码示例:

import cx_Oracle

import pandas as pd

# 数据库连接信息

host = "localhost"

port = 1521

service_name = "orcl"

username = "your_username"

password = "your_password"

# 建立数据库连接

dsn = cx_Oracle.makedsn(host, port, service_name=service_name)

connection = cx_Oracle.connect(username, password, dsn)

# 读取Excel文件数据

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

# 表结构

table_name = "your_table_name"

columns = ["column1", "column2", "column3"] # 列名

# 创建表

create_table_query = f"CREATE TABLE {table_name} ("

for column in columns:

create_table_query += f"{column} VARCHAR2(100), "

create_table_query = create_table_query[:-2] + ")"

cursor = connection.cursor()

cursor.execute(create_table_query)

connection.commit()

# 将数据插入表中

for row in excel_data.itertuples():

insert_query = f"INSERT INTO {table_name} VALUES ("

for column in columns:

value = getattr(row, column)

insert_query += f"'{value}', "

insert_query = insert_query[:-2] + ")"

cursor.execute(insert_query)

connection.commit()

6. 总结

通过以上步骤,我们成功地配置了Python连接到Oracle数据库,并读取了Excel文件的数据并将其插入到数据库表中。这使得我们可以轻松地将Excel中的数据导入到Oracle数据库中,以供进一步处理和分析。

后端开发标签