这是我的第一篇文章!我也刚刚开始编程,所以请耐心等待!
我正在尝试将一堆.csv文件加载到数据库中,以便稍后对数据执行各种报告.我开始在mysql中创建一些表,其中包含匹配的字段名称和数据类型,以及将加载到表中的内容.我正在操作文件名(为了解析日期以用作我表中的字段)并使用python清理数据.
所以我现在的问题(哈哈......)是我在尝试向'mysql'插入'查询'时收到此错误消息.
Traceback (most recent call last):
File "C:\Program Files\Python\load_domains2.py", line 80, in <module>
cur.execute(sql)
File "C:\Program Files\Python\lib\site-packages\MySQLdb\cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "C:\Program Files\Python\lib\site-packages\MySQLdb\connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
OperationalError: (1054, "Unknown column 'a1200e.com' in 'field list'")
Run Code Online (Sandbox Code Playgroud)
'a1200e.com'是指我正在插入该列的特定域名.我的查询如下:
sql="""INSERT INTO temporary_load
(domain_name, session_count, search_count, click_count,
revenue, revenue_per_min, cost_per_click, traffic_date)
VALUES (%s, %d, %d, %d, %d, %d, %d, %s)""" %(cell[0],
int(cell[1]),
int(cell[2].replace (",","")),
int(cell[3].replace(",","")),
float(cell[4].replace("$","")),
float(cell[5].replace("$","")),
float(cell[6].replace("$","")),
parsed_date)
cur.execute(sql)
Run Code Online (Sandbox Code Playgroud)
我对这一切都很陌生,所以我确信我的代码效率不高,但我只想把所有内容都放在一边,这对我来说很清楚.我不明白的是,我确保我的表已正确定义数据类型(对应于我的查询中的数据类型).有什么我想念的吗?我一直试图解决这个问题,不知道出了什么问题:/
非常感谢!!!瓦尔
我需要将来自两个视图表的两个选择查询的结果组合起来,我正在从中执行计算.也许有一种更简单的方法来使用if ... else - 任何指针来执行查询?
基本上我需要在sql查询1中的条件下将所有内容除以'ar.time_ratio',并忽略查询2中的内容.
SELECT
gs.traffic_date,
gs.domain_group,
gs.clicks/ar.time_ratio as 'Scaled_clicks',
gs.visitors/ar.time_ratio as 'scaled_visitors',
gs.revenue/ar.time_ratio as 'scaled_revenue',
(gs.revenue/gs.clicks)/ar.time_ratio as 'scaled_average_cpc',
(gs.clicks)/(gs.visitors)/ar.time_ratio as 'scaled_ctr',
gs.average_rpm/ar.time_ratio as 'scaled_rpm',
(((gs.revenue)/(gs.visitors))/ar.time_ratio)*1000 as "Ecpm"
FROM
group_stats gs,
v_active_ratio ar
WHERE ar.group_id=gs.domain_group
Run Code Online (Sandbox Code Playgroud)
和
SELECT
gs.traffic_date,
gs.domain_group,
gs.clicks,
gs.visitors,
gs.revenue,
(gs.revenue/gs.clicks) as 'average_cpc',
(gs.clicks)/(gs.visitors) as 'average_ctr',
gs.average_rpm,
((gs.revenue)/(gs.visitors))*1000 as "Ecpm"
FROM
group_stats gs,
v_active_ratio ar
where not ar.group_id=gs.domain_group
Run Code Online (Sandbox Code Playgroud)