Я пробовал это , и у меня проблемы с тем, чтобы заставить его работать.Первоначально у меня были проблемы с UTF-декодированием документа, поэтому я добавил ошибки = 'игнорировать часть.Теперь я нахожусь в pont, где у меня есть ошибка синтаксиса sqlite3.У меня такое же количество заполнителей, как и для столбцов (я знаю, что это много столбцов. Я пытаюсь поместить все это в базу данных, чтобы упростить объединение некоторых из этих столбцов так, чтобы это имело смысл)
Вот мой код.
import csv, sqlite3
con = sqlite3.connect("4x4orce.db")
cur = con.cursor()
cur.execute("""CREATE TABLE t (Premier Part Number, Long Description, External Long Description, Upc, USA, Item,
Availability, Canada Item Availability, Core Charge, Customer Price, Jobber, MAP, Retail, Inventory Status, Brand,
Mfg Part Number, UT whse, KY whse, TX whse, CA whse, WA whse, ImageURL, ShipsLTL, ItemWithCores, Cust CAD Price,
Proposition 65 Carcinogen, Proposition 65 Reproductive Harm)""") # use your column names here
with open('python/4x4orce/premier_data_feed_4x4orce.csv', 'r', errors='ignore') as fin:
# `with` statement available in 2.5+
# csv.DictReader uses first line in file for column headings by default
dr = csv.DictReader(fin) # comma is default delimiter
to_db = [(i['Premier Part Number'], i['Long Description'], i['External Long Description'], i['Upc'],
i['USA Item Availability'], i['Canada Item Availability'], i['Core Charge'], i['Customer Price'],
i['Jobber'], i['MAP'], i['Retail'], i['Inventory Status'], i['Brand'], i['Mfg Part Number'], i['UT whse'],
i['KY whse'], i['TX whse'], i['CA whse'], i['WA whse'], i['ImageURL'], i['ShipsLTL'], i['ItemWithCores'],
i['Customer CAD Price'], i['Proposition 65 Carcinogen'], i['Proposition 65 Reproductive Harm']) for i in dr]
cur.executemany("""INSERT INTO t (Premier Part Number, Long Description, External Long Description, Upc, USA, Item,
Availability, Canada Item Availability, Core Charge, Customer Price, Jobber, MAP, Retail,
Inventory Status, Brand, Mfg Part Number, UT whse, KY whse, TX whse, CA whse, WA whse, ImageURL,
ShipsLTL, ItemWithCores, Cust CAD Price, Proposition 65 Carcinogen, Proposition 65 Reproductive Harm)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""", to_db)
con.commit()
con.close()
Вот ошибка, которую я получаю:
Traceback (most recent call last):
File "/Users/mwhites/programming/python/4x4orce/ImportCSV.py", line 8, in <module>
Proposition 65 Carcinogen, Proposition 65 Reproductive Harm)""") # use your column names here
sqlite3.OperationalError: near "65": syntax error
Process finished with exit code 1
Что я здесь не так делаю?