利用python导出oracle数据库数据,每100万条数据导出为一个xslx表
时间: 2023-11-27 20:53:41 浏览: 97
你可以使用Python中的pandas和cx_Oracle模块来完成这个任务。以下是一个简单的示例代码,可以将每100万条数据导出为一个xslx表。
```python
import pandas as pd
import cx_Oracle
# 连接Oracle数据库
conn = cx_Oracle.connect('username/password@host:port/service_name')
# 查询数据
cursor = conn.cursor()
sql = 'SELECT * FROM your_table'
cursor.execute(sql)
# 每100万条数据导出为一个xslx表
batch_size = 1000000
for i, chunk in enumerate(pd.read_sql(sql, conn, chunksize=batch_size)):
filename = f'data_{i+1}.xlsx'
writer = pd.ExcelWriter(filename)
chunk.to_excel(writer, index=False)
writer.save()
# 关闭连接
cursor.close()
conn.close()
```
这个代码中,我们首先使用cx_Oracle模块连接到Oracle数据库,并执行查询语句。然后,我们使用pandas模块的read_sql函数按批次读取数据,并将每个批次的数据导出为一个xslx表。最后,我们关闭数据库连接。
请注意,这个代码仅仅是一个简单的示例,你可能需要根据你的具体情况进行一些修改。例如,你可能需要对查询语句进行参数化,以避免SQL注入攻击。你也可以根据需要调整批处理大小和文件名等参数。
阅读全文