python如何保存从oracle数据库中读取的BLOB文件

python如何保存从oracle数据库中读取的BLOB文件,第1张

import cx_Oracle

con = cx_Oracleconnect(‘username’, ‘password’, ‘dsn’)

blob_sql = "select column_name from table where clause"

cursor = concursor()

cursorexecute(blob_sql)

result = cursorfetchall()

file = open('file_name', "wb")

filewrite(result[0][0]read()) #可以print查看result的内容,根据实际情况read

fileclose()

Scrapy依赖于twisted,所以如果Scrapy能用,twisted肯定是已经安装好了。

抓取到的数据,可以直接丢到MySQL,也可以用Django的ORM模型丢到MySQL,方便Django调用。方法也很简单,按数据库的语句来写就行了,在spiders目录里定义自己的爬虫时也可以写进去。

当然使用pipelinespy是更通用的方法,以后修改也更加方便。你的情况,应该是没有在Settingspy里定义pipelines,所以Scrapy不会去执行,就不会生成pyc文件了。

你不能直接存储一个类的实例啊,mongodb用bson存储数据,bson是json的binary形式,所以你只能存储javascript的基本类型、Object和Array这些东西。像beautiful soup里面的类的实例,你可以存储关键的数据,到你再需要用的时候,取出数据再构造一个新实例,而不是把这个实例存入数据库。

将变量存储到目标文件中区pickledump(shoplist,f)#关闭文件fclose()#删除变量。

在python中,变量保存的是对象(值)的引用,我们称为引用语义,只是把数据保存到了数据库里。

python中的add()函数可将对象作为一个整体加入字典中。

select aowner 所属用户,

atable_name 表名,

acolumn_name 字段名,

adata_type 字段类型,

a字段长度,

a字段精度,

a是否为空,

a创建日期,

a最后修改日期, 

case when aowner=downer and atable_name=dtable_name and acolumn_name=dcolumn_name then '主键' else '' end 是否主键 

from

(select aowner,atable_name,bcolumn_name,bdata_type,case when bdata_precision is null then bdata_length else data_precision end 字段长度,data_scale 字段精度,

decode(nullable,'Y','√','N','×') 是否为空,ccreated 创建日期,clast_ddl_time 最后修改日期 

from all_tables a,all_tab_columns b,all_objects c 

where atable_name=btable_name and aowner=bowner

and aowner=cowner

and atable_name=cobject_name

and aowner='SCOTT' --这个是查某个用户,你到时候把用户名换一下就好,一定大写

and cobject_type='TABLE') a

left join 

(select aowner,atable_name,acolumn_name,aconstraint_name from user_cons_columns a, user_constraints b 

where aconstraint_name = bconstraint_name and bconstraint_type = 'P') d

on aowner=downer and atable_name=dtable_name and acolumn_name=dcolumn_name

order by aowner,atable_name;

data 是你查找数据库sql语句的返回结果 ,应该是一个数组

d 从你print出来的来看 是一个 元组

d[0],就是取d里的第一个元素

保存数据:

ret = []

retappend(d)#d为你想要保存的数据

Python存200w数据到数据库需要474秒,因为正常的三万八千条数据仅需要9秒,以此类推出200万需要的时间。

python存数据库速度

1、需要从文本中读取三万条数据写入mysql数据库,文件中为用@分割的sql语句,但是在读取的过程中发现速度过慢,三万八千条数据需要220秒,

2、经测试发现,影响速度的主要原因是commit(),因为没过几秒提交一次即可,但是因为提交的字符长度有限制,所以要设置一个合理的时间读取。

3、更改后,写入三万八千条数据仅需要9秒

以上就是关于python如何保存从oracle数据库中读取的BLOB文件全部的内容,包括:python如何保存从oracle数据库中读取的BLOB文件、scrapy框架python语言爬虫得到的数据怎么存入数据库、python写了一个爬虫,内容储存到mongodb数据库,遇到一个错误不知怎么改,求大神帮忙等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9786214.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存