У меня есть CSV-файл, который имеет два столбца. Я создал базу данных под названием beacon, которая принимает col1 и col2. Я пробовал два разных способа, один с использованием pandas, а другой без. Оба способа позволяют мне нормально читать файл csv, но я не думаю, что они фактически добавляют эти два столбца в мою базу данных!
Первый метод
import sqlite3
import pandas as pd
from pandas import DataFrame
conn = sqlite3.connect('MyDB.db')
c = conn.cursor()
read_beacon = pd.read_csv (r'/Users/seifeldeen/Downloads/BeaconID&ACID.csv')
read_beacon.to_sql('beacon', conn, if_exists= 'append', index = False)
conn.commit()
df = DataFrame(c.fetchall(), columns=['col1','col2'])
print (df)
export_csv = df.to_csv (r'/Users/seifeldeen/Downloads/export_list.csv', index = None, header=True)
Второй метод
import csv, sqlite3
con = sqlite3.connect("MyDB.db'")
cur = con.cursor()
cur.execute("CREATE TABLE t (col1, col2);")
with open('BeaconID&ACID.csv','r') as fin:
dr = csv.DictReader(fin) # comma is default delimiter
to_db = [(i['col1'], i['col2']) for i in dr]
cur.executemany("INSERT INTO n (col1, col2) VALUES (?, ?);", to_db)
con.commit()
con.close
Кроме того, я убедился, что столбцы csv и таблица маяков используют одинаковые имена столбцов. Заранее спасибо!