На самом деле я хотел написать некоторый код Python для выброса данных в мою базу данных SQL, поэтому для этого я написал пример скрипта Python, чтобы просто проверить, работает ли он.Запрос не работает и ничего не происходит.Я знаю, что должно быть что-то, чего мне не хватает.
import pyodbc
import xml.sax
class Parser(xml.sax.ContentHandler):
def __init__(self):
self.current_tag = ""
self.title = ""
self.type = ""
self.format = ""
self.year = ""
self.rating = ""
self.stars = ""
self.description = ""
def startElement(self, tag, attribute):
self.current_tag = tag
if tag == "movie":
self.title = attribute['title']
def endElement(self, tag):
if tag == 'movie':
conn = pyodbc.connect('Driver={SQL Server};'
'Server=localhost;'
'Database=Datawarehouse_project;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('insert into Movies values (?,?,?,?,?,?,?)', (self.title, self.type, self.format, self.year,
self.rating, self.stars, self.description))
def characters(self, content):
if self.current_tag == "type":
self.type = content
elif self.current_tag == "format":
self.format = content
elif self.current_tag == "year":
self.year = content
elif self.current_tag == "rating":
self.rating = content
elif self.current_tag == "stars":
self.stars = content
elif self.current_tag == "description":
self.description = content
if __name__ == '__main__':
parser = xml.sax.make_parser()
handler = Parser()
parser.setContentHandler(handler)
parser.parse('movies.xml')
Код работает и ничего не делает.Я ожидаю, что этот код просто извлечет данные из файла XML 'movies.xml' и выбросит данные в таблицу. Movies в моей базе данных 'Datawarehouse_project'