一直从tushare 上download 数据到oracle ,中文里去总是乱码,现已解决。
1. sqlcalchemy 如果自动创建的表 string 类型的总是clob,所以看上是乱码,其实真的不一定,所以自已手工建表
-- Create table create table TICK_DATA3 ( TIME VARCHAR2(30), PRICE FLOAT, CHANGE VARCHAR2(30), VOLUME NUMBER(19), AMOUNT NUMBER(19), TYPE VARCHAR2(30), STOCK VARCHAR2(30), RQ VARCHAR2(30) ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited );
code
# -*- coding: utf-8 -*- """ Created on Sun Aug 14 21:47:49 2016 @author: john """ import sys from sqlalchemy import create_engine import tushare as ts reload(sys) sys.setdefaultencoding('utf-8') df= ts.get_tick_data('600848', date='2015-12-22') engine = create_engine('oracle://stock:stock@127.0.0.1:1521/orcl',encoding='gbk') #engine = create_engine('mysql+mysqldb://book:book@localhost:3306/stock?charset=utf8') #存入数据库 df['stock']='600048' 增加股票号 df['rq']='20151222' 增加日期 df.to_sql('tick_data3',engine,if_exists='append',index=False) ##不存index列 df.to_csv("d://test.xlsx",mode='a') df