rokki
Сен. 24, 2009 08:33:37
почему мне после weekdays=
import sqlite3 as db
c=db.connect(database='tvprogram')
cu=c.cursor()
cu.execute('''DELETE FROM wd;''')
cu.executemany('''INSERT INTO wd VALUES(?,?);''',enumerate(weekdays))
c.commit()
c.close()
пишет ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
что изменить?
igor.kaist
Сен. 24, 2009 09:59:04
rokki, воспользуйся поиском по форуму, это неоднократно обсуждалось…
rokki
Сен. 24, 2009 12:12:58
не, я уже все обшарил и нашел, но не помогло, все равно пишет
cu.executemany('''INSERT INTO wd VALUES(?,?);''',enumerate(weekdays,))
ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
так что если есть возможность помочь-помогите, а то не могу продолжить
rokki
Сен. 24, 2009 12:20:05
нашел, работает. спасибо за помощь
rokki
Сен. 24, 2009 14:33:44
а как мне вместо %(begd)s использовать символ “?”
rokki
Сен. 24, 2009 14:38:16
и почему мне после
import calendar, csv
import sqlite3 as db
from sqlite3 import Time, Date
db.Date, db.Time = Date, Time
c = db.connect(database=“tvprogram”)
cu = c.cursor()
input_file = open(“tv.csv”, “rb”)
rdr = csv.DictReader(input_file,fieldnames=)
for rec in rdr:
bd,bt=rec.split()
bdd,bdm,bdy=map(int,bd.split('.'))
bth,btm=map(int,bt.split('.'))
eth,etm=map(int,rec.split('.'))
rec=calendar.weekday(bdy,bdm,bdd)
rec = db.Date(bdy, bdm, bdd)
rec = db.Time(bth, btm, 0)
rec = db.Time(eth, etm, 0)
cu.execute(“”“INSERT INTO tv
(tvdate, tvweekday, tvchannel, tvtime1, tvtime2, prname,
prgenre)
VALUES (
%(begd)s, %(wd)s, %(channel)s, %(begt)s, %(endt)s,
%(prname)s, %(prgenre)s);”“”, rec)
input_file.close()
c.commit()
пишет
bd,bt=rec.split()
ValueError: too many values to unpack
igor.kaist
Сен. 24, 2009 16:08:22
rokki
а как мне вместо %(begd)s использовать символ “?”
http://docs.python.org/library/sqlite3.htmlrokki
bd,bt=rec.split()
ValueError: too many values to unpack
Посмотри для начала len(rec.split()), могу поспорить, что больше 2…
rokki
Сен. 25, 2009 12:25:05
igor.kaist, подскажи, я пример разбираю из книги Сузи 2002г., это опечатки в книге или что то еще?
igor.kaist
Сен. 25, 2009 14:33:13
rokki
igor.kaist, подскажи, я пример разбираю из книги Сузи 2002г., это опечатки в книге или что то еще?
Если честно, нет времени разбирать этот пример. просто посмотри, что в rec, и постарайся понять, что делает метод split()
rokki
Окт. 6, 2009 14:49:21
igor.kaist, не знаю с какого бока начать. Подкинь какую нибудь задачу, и сразу пару намеков для решения. Исходники с твоего сайта я скачал, но в голове ничего не укладывается.