In [43]:
import pandas as pd
import csv
import sqlalchemy
In [31]:
data = pd.read_csv('../csvs/ditrict_treasuries/ap/2017-18/krishna.csv', dtype=str)
data['fin_year'] = '2017-18'
data2 = pd.read_csv('../csvs/ditrict_treasuries/ap/2016-17/krishna.csv', dtype=str)
data['fin_year'] = '2016-17'
In [33]:
data = pd.concat([data, data2])
In [34]:
data.AMOUNT = data.AMOUNT.astype(float)
In [35]:
data.head()
Out[35]:
In [36]:
data['date_month'] = data.MONTH.apply(lambda x: '01-{0}-2017'.format(x) if x not in ['JAN', 'FEB', 'MAR'] else '01-{0}-2018'.format(x))
In [37]:
data.head()
Out[37]:
In [38]:
data.to_csv('../csvs/ditrict_treasuries/ap/2017-18/krishna_with_time_col.csv', index=False)
In [39]:
# Generate sqlite db
data['date_month'] = pd.to_datetime(data['date_month'])
In [40]:
data.dtypes
Out[40]:
In [44]:
def save_to_sqlite(o, combined_data):
'''
Save the combined data to sqlite file.
Args:
o (str): output file name.
Return:
True if sqlite file saved else raise error.
'''
engine = sqlalchemy.create_engine('sqlite:///{}'.format(o))
combined_data.to_sql(name='krishna', if_exists='replace', con=engine, chunksize=10000)
return True
In [45]:
save_to_sqlite('district_treasuries_ap', data)
Out[45]:
In [47]:
engine = sqlalchemy.create_engine('sqlite:///district_treasuries_ap.sqlite')
pd.read_sql('select * from krishna', con=engine).
Out[47]:
In [ ]: