Python SQLite错误:"尝试编写只读数据库"

时间:2016-07-19 12:29:25

标签: python sqlite pandas

我正在使用块来写入本地SQLite数据库。在它进展到某一点之后,我得到了这个错误"尝试编写一个只读数据库"。如果我更改块大小,则错误发生的点也会发生变化。数据库正在进行中创建,有时它在错误之前是15mb,有时它达到35mb。关于如何解决这个问题或者为什么会发生这种情况的想法?

  Yourdataframe$X<-strptime(as.character(Yourdataframe$X),format="%d.%m.%Y")
  Yourdataframe<-xts(Yourdataframe[,2:3],order.by=Yourdataframe[,1]

输出:

import pandas as pd
from sqlalchemy import create_engine
import datetime as dt

disk_engine = create_engine('sqlite:///C:\\databases\\test.db')

start = dt.datetime.now()
chunksize = 100000
j = 0
index_start = 1

for df in pd.read_csv('C:\my_file.txt',sep='\t', error_bad_lines=False, chunksize=chunksize, iterator=True, encoding='ISO-8859-1'):

  df = df.rename(columns={c: c.replace(' ', '') for c in df.columns}) # Remove spaces from columns

  df.index += index_start

  columns = ['column_1']

  for c in df.columns:
     if c not in columns:
        df = df.drop(c, axis=1)    

  j+=1
  print '{} seconds: completed {} rows'.format((dt.datetime.now() - start).seconds, j*chunksize)

  df.to_sql('data', disk_engine, if_exists='append')
  index_start = df.index[-1] + 1

0 个答案:

没有答案