oracle csv

http://www.cnblogs.com/sislcb/archive/2008/12/15/1355481.html    举例说明csv如何用

http://outofmemory.cn/code-snippet/2130/Python-usage-cx-Oracle-jiang-oracle-shujubiao-de-data-daochu-cheng-csv   cx_Oracle 用法

http://migle.iteye.com/blog/683279  oracle 举例

#!/usr/bin/python

#coding:gbk

import cx_Oracle

import csv

import xlrd

class ImportOracle(object):

def inoracle(self):

pass

def ConnOracle(self):

conn = cx_Oracle.connect(‘stat_yg/yg12345@cd ‘)

cursor = conn.cursor()

fields = [i+‘ varchar2(200)‘ for i in self.title]

fields_str = ‘, ‘.join(fields)

sql = ‘create table %s (%s)‘ % (self.table_name, fields_str)

print sql

cursor.execute(sql)

a = [‘:%s‘ %i for i in range(len(self.title)+1)]

value= ‘,‘.join(a[1:])

sql = ‘insert into %s values(%s)‘ %(self.table_name, value)

print sql

cursor.prepare(sql)

cursor.executemany(None, self.data)

cursor.close()

conn.commit()

conn.close()

class ImportOracleCsv(ImportOracle):

def inoracle(self):

with open(self.filename, ‘rb‘) as f:

reader = csv.reader(f)

contents = [i for i in reader]

title = contents[0]

data = contents[1:]

return (title, data)

class ImportOracleExcel(ImportOracle):

def inoracle(self):

wb = xlrd.open_workbook(self.filename)

sheet1 = wb.sheet_by_index(0)

title = sheet1.row_values(0)

data = [sheet1.row_values(row) for row in range(1, sheet1.nrows)]

return (title, data)

class ImportError(ImportOracle):

def inoracle(self):

print ‘Undefine file type‘

return 0

class ChooseFactory(object):

choose = {}

choose[‘csv‘] = ImportOracleCsv()

choose[‘xlsx‘] = ImportOracleExcel()

choose[‘xls‘] = ImportOracleExcel()

def choosefile(self, ch):

if ch in self.choose:

op = self.choose[ch]

else:

op = ImportError()

return op

if __name__ =="__main__":

file_name = ‘11.csv‘

table_name= ‘ygl_test111‘

op = file_name.split(‘.‘)[-1]

factory = ChooseFactory()

cal = factory.choosefile(op)

cal.filename = file_name

(cal.title, cal.data) = cal.inoracle()

cal.table_name = table_name

cal.ConnOracle()

时间: 2024-11-08 10:48:21

oracle csv的相关文章

在Apex把csv导入数据库Clob字段再导入到各自对应列的解决方法

1. 需求 有一用户数据存在于csv文件,因为Apex不允许上传超过44列的数据(在该案例中有90多列),所以需求是把所有列先导入到一个clob字段,然后再用存储过程导出到对应的列. 2.解决方法 1) 创建一个有clob字段的表 CREATE TABLE "TABLE3" (  "CONTENT" CLOB ) ; 2)创建一个具有真实列的表 CREATE TABLE "TABLE4" ( "NAME" VARCHAR2(2

如何选择高速存储、查询数据库

作者:方圆链接:https://www.zhihu.com/question/20010554/answer/15863274来源:知乎著作权归作者所有,转载请联系作者获得授权. 一. PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃.断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景--mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些.二.任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG

oracle导出多CSV文件的靠谱的

oracle导出多CSV文件的问题 ---------------------------------------------------------------------- 用ksh脚本从oracle数据库中导出80w数据到csv文件,如用户给定名字为a.csv(文件最大4000行记录),则自动生产文件为a_1.csv,a_2.csv,...., a_200.csv 我已经实现了一个方法,但80w要导5小时,用户没法接受.如下: sqlplus -s user/pwd @${SqlDir}/

将.csv格式的文件导入oracle数据库中

第一种方法 1.选择工具---文本导入器 2.选择 到oracle的数据选择所有者和表. 3.选择打开文件,选择要导入的文本 4.在field中配置表的对应关系,filed1对应的是.csv中的第一列,配置对应数据的那一列,注意类型,不然导入数据会报错.之后点导入,完成. 第二种方法 1.创建控制文件 如,在E:\创建 test.ctl文件,文件内容为 load data ---控制文件标志 infile'e:/asd.csv'---要输入的文件名及路径 into tablejyzxsj_rdl

读取csv文件,写入oracle数据库

/* * @(#)DataParse.java 2014年4月28日 */ package com.yihaodian.sa.doData; import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.sql.Connection;import java.

Reading Csv Files with Text_io in Oracle D2k Forms

Below is the example to read and import comma delimited csv file in oracle forms with D2k_Delimited_String package. This package is available in D2kdlstr.pll library. To download D2kdlstr.Pll Click Here Create the following procedure in program unit

Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,最后一位会被置为0

问题描述: Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,CSV文件该列会用科学计数法表示,即使选择该列,点击数据--.>分列,固定宽度,列数据格式选择文本,最后一位仍然会被置为0. 解决方法: Oracle通过PL/SQL Developer导出数据为CSV格式,新建一个Excel文件,点击数据-->自文本,选择之前导出的CSV文件,文件类型分隔符号,选择逗号,[选中所有列],然后

csv、excel导入oracle

hcsv导入oracle #coding:gbk import csv import cx_Oracle fields = [] data = [] table_name = 'ygl_test3' file_name = '清单.csv' with open(file_name, 'rb') as f: reader = csv.reader(f) contents = [i for i in reader] title = contents[0] data = contents[1:] co

大批量数据导入数据库,dbf导入oracle,csv导入oracle

Excel 07-2003一个工作表最多可有65536,行最多可有256列:Excel 2007及以后版本,一个工作表最多可有1048576行,16384列. 一.小批量数据处理: 方法一:用excel可以直接打开dbf或csv文件,数据库表for update,直接把excel表中想要的列值直接复制到pl/sql中 相对应字段. 方法二:若是dbf文件可用dbfplus工具转换成csv文件,打开pl/sql中的 工具>文本导入器,在'到Oracle的数据'中选择到导入哪个用户下的哪个表,点击左