使用python脚本把CSV文件数据导入ORACLE,效率更高,10000行提交一次。
时间: 2023-05-23 17:03:38 浏览: 669
你可以使用Python的csv模块读取CSV文件中的数据,并使用Python的cx_Oracle模块将数据批量插入Oracle数据库。可以使用以下代码示例:
```python
import csv
import cx_Oracle
# Oracle数据库连接信息
dsn_tns = cx_Oracle.makedsn('localhost', '1521', 'ORCLCDB')
conn = cx_Oracle.connect(user='username', password='password', dsn=dsn_tns)
cur = conn.cursor()
# CSV文件路径和名称
file_path = 'data.csv'
# 批量插入数据的阈值
batch_size = 10000
# 读取CSV文件中的数据
with open(file_path, newline='') as csvfile:
reader = csv.reader(csvfile)
header = next(reader)
rows = []
for row in reader:
rows.append(row)
# 当达到批量插入的阈值时,执行一次批量插入
if len(rows) == batch_size:
cur.executemany('INSERT INTO table_name(col1, col2, col3) VALUES(:1, :2, :3)', rows)
rows = []
# 处理剩余数据
if rows:
cur.executemany('INSERT INTO table_name(col1, col2, col3) VALUES(:1, :2, :3)', rows)
# 提交事务并关闭连接
conn.commit()
cur.close()
conn.close()
```
该代码示例中,使用了Oracle提供的批量插入API,每读取到batch_size行数据时,会执行一次批量插入操作,提高了数据插入的效率。
阅读全文