在excel中运行SQL语句,将数据作为excel表本身的输入

问题描述 投票:0回答:2

我想在excel或SQL Developer中运行sql脚本。问题是我希望脚本从Excel中获取输入数据。例如:

SQL脚本:select * from ABC where data in (**NEED NUMBERS FROM EXCEL HERE!!!**)

EXCEL中的数字格式:

|---------------------|------------------|
|      Heading 1      |     Heading 2    |
|---------------------|------------------|
|      123454         |         ,        |
|---------------------|------------------|
|      123423         |         ,        |
|---------------------|------------------|
|      653454         |         ,        |
|---------------------|------------------|

有什么方法可以将这些数据从excel引用到SQL?我在Excel工作表中拥有的数字约为80000+行。在蟾蜍里跑,不允许我一口气使用超过999个数字。

excel oracle sql-insert
2个回答
0
投票

[如果可能,可以将这些数据从excel工作表导入到SQL表中,然后在其上运行查询吗?

SQL Developer提供了将数据从excel表格导入数据库表的功​​能。该链接可以指导您执行相同的操作。

https://www.thatjeffsmith.com/archive/2012/04/how-to-import-from-excel-to-oracle-with-sql-developer/

不确定Toad是否也支持。


0
投票

您可以使用pythonpandas软件库的read_excel函数在excel工作表的第一栏中插入数字:

import pandas as pd

df=pd.read_excel(r'C:\\excel\\myExcelSheet.xls')

import cx_Oracle
con=cx_Oracle.connect('uname/pwd@host:port/service_name')
cur=con.cursor()

sql = 'insert into abc(data) values(:hd1)'

df_list = df.values.tolist()

for i, r in df.iterrows():
        cur.execute(sql,(df_list[i][0],))

con.commit()
con.close()
© www.soinside.com 2019 - 2024. All rights reserved.