Python 导入CSV以导出数据库

Python 导入CSV以导出数据库,python,pandas,sqlite,pycharm,Python,Pandas,Sqlite,Pycharm,我有一个.csv文件,我想将其导入PyCharm并转换/导出为.db文件。我看过许多类似的问题和解决方案,但似乎不太明白。可以下载CSV文件。该文件包含美国各地的农贸市场信息。我正在使用该文件观看应用程序构建教程。在使用sqlite3时,使用.db明显优于.csv。下面是我基于@Marichyasana所做的,尽管我遇到了一个“表已经存在错误”。我也调查了@Tennessee Leeuwenburg,但不明白表名和conn代表什么。由于简单,我宁愿使用@Tennessee Leeuwenburg

我有一个
.csv
文件,我想将其导入PyCharm并转换/导出为
.db
文件。我看过许多类似的问题和解决方案,但似乎不太明白。可以下载CSV文件。该文件包含美国各地的农贸市场信息。我正在使用该文件观看应用程序构建教程。在使用
sqlite3
时,使用
.db
明显优于
.csv
。下面是我基于@Marichyasana所做的,尽管我遇到了一个“表已经存在错误”。我也调查了@Tennessee Leeuwenburg,但不明白
表名和
conn
代表什么。由于简单,我宁愿使用@Tennessee Leeuwenburg答案。我将感谢任何帮助

import sqlite3, csv

# con = sqlite3.connect(":memory:")
con = sqlite3.connect("market_table.db")
cur = con.cursor()
cur.execute("CREATE TABLE market_table(MarketName STR, Website STR, Facebook STR, Twitter STR, Youtube STR, OtherMedia STR, street STR, city STR, Country STR, State STR, zip STR, "
            "Season1Date STR, Season1Time STR, Season2Date STR, Season2Time STR, Season3Date STR, Season3Time STR, Season4Date STR, Season4Time STR, x STR, y STR, Location STR, "
            "Credit STR, WIC STR, WICcash STR, SFMNP STR, SNAP STR, Organic STR, Bakedgoods STR, Cheese STR, Crafts STR, Flowers STR, Eggs STR, Seafood STR, Herbs STR, Vegetables STR, "
            "Honey STR, Jams STR, Maple STR, Meat STR, Nursery STR, Nuts STR, Plants STR, Poultry STR, Prepared STR, Soap STR, Trees STR, Wine STR, Coffee STR, Beans STR, Fruits STR, "
            "Grains STR, Juices STR, Mushrooms STR, PetFood STR, Tofu STR, WildHarvested STR, updateTime STR, PRIMARY KEY(MarketName))")

with open('C:/Users/zlesl/PycharmProjects/AeroTract_App/Export.csv','r') as market_table:
    dr = csv.DictReader(market_table)
    to_db = [(i['MarketName'], i['Website'], i['Facebook'], i['Twitter'], i['Youtube'], i['OtherMedia'], i['street'],
    i['city'], i['Country'], i['State'], i['zip'], i['Season1Date'], i['Season1Time'], i['Season2Date'], i['Season2Time'],
    i['Season3Date'], i['Season3time'], i['Season4Time'], i['Season4Date'], i['x'], i['y'], i['Location'], i['Credit'],
    i['WIC'], i['WICcash'], i['SFMNP'], i['SNAP'], i['Organic'], i['Bakedgoods'], i['Cheese'], i['Crafts'], i['Flowers'],
    i['Eggs'], i['Seafood'], i['Herbs'], i['Vegetables'], i['Honey'], i['Jams'], i['Maple'], i['Meat'], i['Nursery'],
    i['Nuts'], i['Plants'], i['Poultry'], i['Prepared'], i['Soap'], i['Trees'], i['Wine'], i['Coffee'], i['Beans'],
    i['Fruits'], i['Grains'], i['Juices'], i['Mushrooms'], i['PetFood'], i['Tofu'], i['WildHarvested'], i['updateTime']) for i in dr]

cur.executemany("INSERT INTO market_table VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,"
                "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);", to_db)
con.commit()


    cur.execute("CREATE TABLE market_table(MarketName STR, Website STR, Facebook STR, Twitter STR, Youtube STR, OtherMedia STR, street STR, city STR, Country STR, State STR, zip STR, "
sqlite3.OperationalError: table market_table already exists

1) Table name将是要将数据推送到的sql表的名称,conn将是数据库连接


2) Marichyasana answer使用Create table,如果您第二次运行它将无法工作,因为表已经创建,您可以将“Create table”查询替换为“Create table if not exists”

1)table name将是您要将数据推送到的sql表的名称,conn将是数据库连接

2) Marichyasana answer使用Create table,如果您第二次运行它将无法工作,因为已经创建了表,您可以将“Create table”查询替换为“Create table if not exists”

您可以使用该库,该库提供了大量帮助来处理数据

您只需使用读取csv以获取,然后使用转储即可

您可以使用,这个库提供了很多帮助来处理数据

您只需使用读取csv以获取,然后使用转储即可


Table name将是您要将数据推送到的sql表的名称,conn将是数据库连接Table name将是您要将数据推送到的sql表的名称,conn将是数据库连接so Table name我可以选择我想要的任何内容,conn是我导入的CSV文件?Table name是您想要的任何内容,conn不是csv它是sql连接con=sqlite3.connect(“market_table.db”)为了澄清,
conn
正在创建一个
.db
to_sql
函数中的第一个参数只是命名
.db
中的表?因此,根据上面的内容,我在Pycharm中的
.db
文件名将是
market\u table.db
。当我打开该文件时,表标题(?)将被称为我为
table\u name
设置的名称?这是正确的,如果遇到任何问题,请尝试并更新即可!感谢您的帮助和澄清!所以表名我可以选择我想要的任何东西,conn是我导入的CSV文件?表名是你想要的任何东西,conn不是CSV是sql连接con=sqlite3.connect(“market_Table.db”)为了澄清,
conn
正在创建一个
.db
to_sql
函数中的第一个参数只是命名
.db
中的表?因此,根据上面的内容,我在Pycharm中的
.db
文件名将是
market\u table.db
。当我打开该文件时,表标题(?)将被称为我为
table\u name
设置的名称?这是正确的,如果遇到任何问题,请尝试并更新即可!感谢您的帮助和澄清!
import pandas as pd
import sqlite3

df = pd.read_csv("C:/location/Export.csv")
conn = sqlite3.connect("markets.db")
df.to_sql("markets", conn, if_exists='append', index=False)