利用csv快速将数据存入Oracle
CSV(Comma-Separated Values)是一种常见的文本格式,它是一种用逗号分隔字段值的电子表格,可以直接用文本编辑器查看和编辑。现在很多数据来源都是以CSV格式呈现,如何快速将这些数据存入Oracle数据库成为很多数据工作者关注的一项技术。
Python中有一个csv库,可以快速处理CSV数据。同时Python自带cx_Oracle库用于连接Oracle数据库。借助这两个库,我们可以实现将CSV数据存入Oracle数据库的操作。
以下是具体实现步骤:
1. 连接Oracle数据库
Python代码如下:
“`python
import cx_Oracle
dsn_tns = cx_Oracle.makedsn(‘localhost’, ‘1521’, ‘orcl’)
conn = cx_Oracle.connect(user=’user_name’, password=’user_password’, dsn=dsn_tns)
2. 读取CSV文件
Python代码如下:
```python
import csv
with open('data.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
print(row)
上述代码会打开名为data.csv的文件,并遍历每一行。delimiter参数指定了用于分隔字段值的字符,此处为逗号。遍历后的每一行数据为一个list,我们可以根据索引位置依次访问每一个字段值。
3. 将数据存入数据库
Python代码如下:
“`python
import csv
import cx_Oracle
dsn_tns = cx_Oracle.makedsn(‘localhost’, ‘1521’, ‘orcl’)
conn = cx_Oracle.connect(user=’user_name’, password=’user_password’, dsn=dsn_tns)
with open(‘data.csv’) as csv_file:
csv_reader = csv.reader(csv_file, delimiter=’,’)
cursor = conn.cursor()
for row in csv_reader:
cursor.execute(“INSERT INTO demo (col1, col2, col3) VALUES (:1, :2, :3)”, row)
conn.commit()
cursor.close()
conn.close()
Python代码中,我们打开名为data.csv的文件,并使用csv.reader函数读取每一行数据。同上述步骤一致。不同的是,我们创建了一个游标对象来执行INSERT INTO语句。我们可以直接使用CSV文件中的值填充查询语句中的参数。最后使用commit()函数提交事务。
以上是利用csv快速将数据存入Oracle的方法,这种方法可以节省繁琐的数据导入过程,同时提高了数据处理的速度。