sqlite - Python Pandas 到 sqlite
问题描述
你好我是新手我有一个问题所以我正在尝试使用flask创建一个简单的api ..
我拥有的数据是 CSV 格式,我想将它导入到 SQLlite 文件中......我已经完成了。并且可以在我加载数据并且我已经确认有数据后访问数据。我尝试让 python 来反映类..因为我需要确认它的烧瓶..
下面是我输入的。
Python:
Base = automap_base()
Base.prepare(engine, reflect=True)
Base.classes.keys()
我什么都不知道为什么我什么也得不到,因为在我使用 pandas 加载数据之前没有设置类..
下面是我用来将数据加载到 sqlite 的代码;
Base = declarative_base()
engine = create_engine("sqlite:///countrytwo.sqlite")
Base.metadata.create_all(engine)
file_name = 'us.csv'
df=pd.read_csv(file_name)
df.to_sql('us',con=engine, index_label='id', if_exists='replace')
## then to conform theirs data I do below ##
print (engine.table_names())
所以我知道我需要先设置类,然后将数据加载到 sqlite 文件中.. 有没有人有一个很好的网站来做到这一点..
我很想有一条线索引导我找到答案,但可能不会给我答案..如果不清楚,请告诉我我可以加载更多代码。谢谢你。
解决方案
import sqlite3
import pandas as pd
import os
class readCSVintoDB():
def __init__(self):
'''
self.csvobj = csvOBJ
self.dbobj = dbOBJ
'''
self.importCSVintoDB()
def importCSVintoDB(self):
userInput= input("enter the path of the csv file: ")
csvfile = userInput
df = pd.read_csv(csvfile,sep=';')
#print("dataFrame Headers is {0}".format(df.columns))# display the Headers
dp = (df[['date','temperaturemin','temperaturemax']])
print(dp)
'''
check if DB file exist
if no create an empty db file
'''
if not(os.path.exists('./rduDB.db')):
open('./rduDB.db','w').close()
'''
connect to the DB and get a connection cursor
'''
myConn = sqlite3.connect('./rduDB.db')
dbCursor = myConn.cursor()
'''
Assuming i need to create a table of (Name,FamilyName,age,work)
'''
dbCreateTable = '''CREATE TABLE IF NOT EXISTS rduWeather
(id INTEGER PRIMARY KEY,
Date varchar(256),
TemperatureMin FLOAT,
TemperatureMax FLOAT)'''
dbCursor.execute(dbCreateTable)
myConn.commit()
'''
insert data into the database
'''
for i in dp:
print(i)
dbCursor.execute('''
INSERT INTO rduWeather VALUES (?,?,?,?)''', i)
myConn.commit()
mySelect=dbCursor.execute('''SELECT * from rduWeather WHERE (id = 10)''')
print(list(mySelect))
myConn.close()
test1 = readCSVintoDB()
推荐阅读
- c++ - 从 CGAL 中的 General_polygon_set_2 解析单个曲线
- c++ - 字节流中的字符串搜索
- c++ - C ++中全局“运算符删除”的两种变体是什么?
- javascript - 有没有办法可以在其他文件的对象中声明函数?
- java - 如何在不知道服务器 UUID 的情况下在 Android 手机和 PC 之间建立蓝牙连接?
- pine-script - 仅当在交易视图上满足条件时触发指标警报
- node.js - Lambda 上的 GraphQL 查询在突变后没有返回一致的数据(起初)
- java - Java ConditionFactory 在条件满足后等待 pollingTime
- java - Google InApp Billing - 从 onSkuDetailsResponse 获得的 skuDetailsList 的标题绑定到列表视图控件
- node.js - 无法通过 jenkins 作业中的“npm install cypress”安装 cypress