Я пытаюсь создать базу данных с именем «Counts», которая отслеживает, сколько раз конкретный адрес электронной почты отправлял письмо.Данные анализируются из текстового файла, и база данных создается с использованием Python.
Мой код выглядит так:
import sqlite3
conn = sqlite3.connect('emaildb.sqlite')
cur = conn.cursor()
cur.execute('DROP TABLE IF EXISTS Counts')
cur.execute('''CREATE TABLE Counts (email TEXT, count INTEGER)''')
fname = input('Enter file name: ')
fh = open(fname)
for line in fh:
if not line.startswith("From"): continue
pieces = line.split()
email = pieces[1]
cur.execute('SELECT count FROM Counts WHERE email= ? ', (email,))
row = cur.fetchone()
if row is None:
cur.execute('''INSERT INTO Counts (email, count)
VALUES (?, 1)''', (email,))
else:
cur.execute('UPDATE Counts SET count = count + 1 WHERE email= ?',(email,))
cur.execute('SELECT * FROM Counts ORDER BY count DESC')
conn.commit()
Код создает отлично работающую базу данных, но она не упорядочена.Используя вышеупомянутую команду
`"SELECT * FROM Counts ORDER BY count DESC"`
, я могу отсортировать базу данных в sqlitebrowser.Каким-то образом это не работает, когда интегрировано в код Python, хотя я использую коммит после команды упорядочения.
Заранее спасибо.