簡體   English   中英

使用 Python 填寫 MySQL 表時遇到問題

[英]Trouble filling MySQL table using Python

我正在嘗試將我作為 txt 文件的數據庫轉換為 MySQL 數據庫。 我找到了本教程並嘗試遵循它,但每次運行時都會出現錯誤:

mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'Pdf' in 'field list'

這是我寫的代碼

import shutil
import os

import mysql.connector 

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  database="Book"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE IF NOT EXISTS Books (name VARCHAR(255), address VARCHAR(255))")


if os.path.exists("/home/Me/Desktop/Books/INFO.txt"): 
  #Extract the data from the txt file
  f= open("/home/Me/Desktop/Books/INFO.txt","r")
  Lines = f.readlines()
  Items=[]
  for line in Lines:
    line=line.replace("\n","")
    Items_not_s=line.split(",")
    Items_not_s=tuple(Items_not_s)
    Items.append(Items_not_s)
 #Extracted the data from the txt file

  sql = "INSERT INTO Books (Name, Pdf, Image, DegradedImage, Tags, Extra) VALUES (%s, %s, %s, %s, %s, %s)"


  val = Items
  print(val[20])
  mycursor.executemany(sql, val)
  mydb.commit()

  print(mycursor.rowcount, "was inserted.") 

else:
    print("no file")

我要放入表中的值 (val) 的示例是:

[('geekychefcookbook', '/home/Me/Desktop/Books/Food/Quarto Cookbooks/geekychefcookbook/PDF/PDF.pdf', 'None', '/home/Me/Desktop/Books/Food/Quarto Cookbooks/geekychefcookbook/IMAGE/IMAGE_RE.jpg', 'None', 'None'),('wickedgoodburgers', '/home/piotr/Desktop/Books/Food/Quarto Cookbooks/wickedgoodburgers/PDF/PDF.pdf', 'None', '/home/piotr/Desktop/Books/Food/Quarto Cookbooks/wickedgoodburgers/IMAGE/IMAGE_RE.jpg', 'None', 'None')]

提前致謝!

MYSQL 表沒有名為Pdf, Image, DegradedImage, Tags, Extra的列,因為您正在嘗試插入。

您擁有的唯一列是nameaddress ,如以下行中所定義:

mycursor.execute("CREATE TABLE IF NOT EXISTS Books (name VARCHAR(255), address VARCHAR(255))")

添加此行中的所有列(通過在address VARCHAR(255)之后用逗號分隔它們及其特定數據類型,然后嘗試從文本文件中插入行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM