使用python脚本把CSV文件数据导入ORACLE,效率更高,10000行提交一次。并每次打印提交数量
时间: 2023-05-23 07:03:39 浏览: 156
您好,我可以回答您的问题。以下是 Python 脚本将 CSV 文件数据导入 Oracle 数据库的实现方法:
```python
import cx_Oracle
import csv
# 连接数据库
conn = cx_Oracle.connect('username/password@database_host/database_name')
# 打开 CSV 文件,获取数据
with open('data.csv', 'r') as f:
reader = csv.reader(f)
headers = next(reader) # 获取表头
rows = [tuple(row) for row in reader] # 转换为元组
# 分批次提交数据
batch_size = 10000
for i in range(0, len(rows), batch_size):
batch_rows = rows[i:i+batch_size]
cursor = conn.cursor()
cursor.executemany(f"INSERT INTO table_name VALUES ({','.join(':'*len(headers))})", batch_rows)
cursor.close()
conn.commit()
print(f'已提交 {len(batch_rows)} 行数据')
# 关闭数据库连接
conn.close()
```
这个脚本将 CSV 文件中的数据导入到名为 `table_name` 的表中,并且每 10000 行数据提交一次,并打印出当前提交的数据数量。如果您有更多的问题,请随时问我。
阅读全文