读取csv中的数据,写入sqlite数据库的wine表中

    1. from sqlalchemy import *
    2. import pandas as pd
    3. def csv_to_df(file):
    4. wine_df = pd.read_csv(file)
    5. # print(wine_df.head(10))
    6. return wine_df
    7. def df_to_sql(wine_df):
    8. """接收dataframe为参数,写入数据库"""
    9. # 定义引擎,test.db为数据库名,./表示当前路径
    10. engine = create_engine('sqlite:///./test.db', echo=True)
    11. wine_df.to_sql('wine', engine) # 从score表读数据dataframe
    12. if __name__ == '__main__':
    13. filename = '../data/winemag-data-130k-v2.csv'
    14. winedata_df = csv_to_df(filename)
    15. df_to_sql(winedata_df)

    从数据库中读取数据

    1. from sqlalchemy import *
    2. import pandas as pd
    3. def df_to_sql():
    4. """接收dataframe为参数,写入数据库"""
    5. # 定义引擎,test.db为数据库名,./表示当前路径
    6. engine = create_engine('sqlite:///./test.db', echo=True)
    7. print(pd.read_sql('wine',engine))
    8. if __name__ == '__main__':
    9. filename = '../data/winemag-data-130k-v2.csv'
    10. df_to_sql()
    1. FROM wine
    2. 2020-11-15 23:42:55,539 INFO sqlalchemy.engine.base.OptionEngine ()
    3. index ... winery
    4. 0 0 ... Nicosia
    5. 1 1 ... Quinta dos Avidagos
    6. 2 2 ... Rainstorm
    7. 3 3 ... St. Julian
    8. 4 4 ... Sweet Cheeks
    9. ... ... ... ...
    10. 129966 129966 ... Dr. H. Thanisch (Erben Müller-Burggraef)
    11. 129967 129967 ... Citation
    12. 129968 129968 ... Domaine Gresser
    13. 129969 129969 ... Domaine Marcel Deiss
    14. 129970 129970 ... Domaine Schoffit
    15. [129971 rows x 15 columns]