VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 4
声望: 1

<ipython-input-46-c1c13b6ea350> in <module>
24 df['datetime'] = df['datetime'].dt.strftime('%Y%m%d %H:%M:%S')
25
---> 26 move_df_to_database(df)

<ipython-input-44-74f063433462> in move_df_to_database(imported_data)
9 symbol=row.symbol,
10 exchange=row.exchange,
---> 11 datetime=row.datetime.replace(tzinfo=utc_8),
12 interval=row.interval,
13 volume=row.volume,

TypeError: replace() takes no keyword arguments
用的sqlite,帖里的两个处理都做了,然后报错

Member
avatar
加入于:
帖子: 716
声望: 62

你上面的24行把时间从datetime转成了str类型,11行中的datetime是一个%Y%m%d %H:%M:%S样式的时间字符串,没有tzinfo字段,也就没办法replace,你需要先转成带时区的datetime类型,再replace

Member
avatar
加入于:
帖子: 4
声望: 1

解决了,时区的处理
import pytz
ts = int(row.datetime.timestamp())
t = datetime.fromtimestamp(ts, pytz.timezone('Asia/Shanghai'))-timedelta(hours=8)

前面一页的方法我用着会报错,df['datetime'] = pd.to_datetime(df['datetime'],format=datetime_format) 转化的datetime不带时区,用不了replace

Member
avatar
加入于:
帖子: 12
声望: 0

在使用sqlite导入时候出现了这个包找不到的问题,请问是不是被替换成其他包了啊
No module named 'vnpy.trader.database.initialize'; 'vnpy.trader.database' is not a package

Member
avatar
加入于:
帖子: 1
声望: 0

谢谢分享

Member
avatar
加入于:
帖子: 54
声望: 1

shunshunuuu wrote:

在使用sqlite导入时候出现了这个包找不到的问题,请问是不是被替换成其他包了啊
No module named 'vnpy.trader.database.initialize'; 'vnpy.trader.database' is not a package
试试from vnpy_datamanager import get_database

Member
avatar
加入于:
帖子: 4
声望: 0

Mark

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】