【发布时间】:2016-06-23 20:24:02
【问题描述】:
你好有以下代码:
def create_table():
c.execute('CREATE TABLE IF NOT EXISTS TEST(Tournament TEXT, MATCH_TIME TEXT, TEAM_1 TEXT, TEAM_2 TEXT)')
create_table()
def data_entry_tournament():
c.executemany("INSERT INTO TEST(TOURNAMENT) VALUES (?)",
(Tournament.text.strip()))
conn.commit()
def data_entry_Time_Event():
c.executemany("INSERT INTO TEST(MATCH_TIME) VALUES (?)",
(Time_Event.text.strip()))
conn.commit()
def data_entry_TEAM_1():
c.executemany("INSERT INTO TEST(TEAM_1) VALUES (?)",
(Team_1.text.strip()))
conn.commit()
def data_entry_TEAM_2():
c.executemany("INSERT INTO TEST(TEAM_2) VALUES (?)",
(Team_2.text.strip()))
conn.commit()
driver.get(link)
Tournament = driver.find_element_by_css_selector("h2[class='sport-title']")
if Tournament.text is not "":
data_entry_tournament()
for row in driver.find_elements_by_css_selector("tbody[class='ng-scope']"):
Time_Event = row.find_elements_by_tag_name("td")[0]
Team_1 = row.find_elements_by_tag_name("td")[1]
Team_2 = row.find_elements_by_tag_name("td")[7]
if Time_Event.text is not "":
data_entry_Time_Event()
if Team_1.text is not "":
data_entry_TEAM_1()
if Team_1_odds.text is not "":
data_entry_TEAM_1_ODD()
if Team_2.text is not "":
data_entry_TEAM_2()
c.close()
conn.close()
我的问题是 SQL 内部的输出完全错误,每一行只有一个字符,文本是垂直的(并将其拆分为不同行的每一列)。
我想要的是下表,例如:
锦标赛 | MATCH_TIME | TEAM_1 | TEAM_2
2016 年欧洲杯 | 18:00 |西班牙 |意大利
2016 年欧洲杯 | 12:00 |匈牙利 |葡萄牙
等等……
我是python和sql的新手,如果上面的代码真的很糟糕,我很抱歉。
如何解决问题并正确显示所有内容? 有没有比我上面写的更好更快的方法来达到同样的效果?
非常感谢!!!
【问题讨论】: