我正在尝试将数据发布到 GA 中,但我收到索引错误 连接正在工作,因为我得到响应 200,但 for 循环似乎有问题,它从我的数据帧中发布所有行。有人可以帮助我吗?谢谢!
endpoint = 'http://www.google-analytics.com/collect'
payload1 = {
'v' : "1",
't' : "event",
'pa' : "purchase",
'tid' : "xxx",
'cid' : df.iloc[i,0],
'ti' : df.iloc[i,6],
'ec' : "ecommerce",
'ea' : "transaction",
'ta' : "aaaa",
'tr' : df.iloc[i,17],
'cd1' : df.iloc[i,0],
'cd2' : df.iloc[i,6],
'cu' : "bbb",
"pr1id" : "ccc",
'pr1nm' : "ddd",
'pr1pr' : df.iloc[i,17],
'pr1qt' : 1,
'cs' : "offline"
}
for i in df.iterrows():
r = requests.post(url = endpoint ,
data = payload1,
headers={'User-Agent': 'User 1.0'})
time.sleep(0.1)
print(r)
错误:
IndexingError Traceback(最近的调用最后)在4'pa':"购买",5'tid':"xxx", ----
~\路径\lib\site-packages\pandas\core\indexing.py 在 getitem(self, key) 1416 中,除了 (键错误, 索引错误, 属性错误): 1417 pass -
~\路径\lib\site-packages\熊猫\核心\indexing.py _getitem_tuple(自我, tup) 2090 def _getitem_tuple(自我, tup): 2091 -
~ \ path \ lib \ site-packages \ pandas \ core \ indexing . py in _ has _ valid _ tuple(self,key) 233 raise IndexingError("索引器太多")234 try: -
~\路径\lib\站点包\熊猫\核心\indexing.py在_validate_key(自我,键,轴)2016#元组应该已经被捕获到这一点2017#所以不要将元组视为有效的索引器-
IndexingError:索引器太多
<code>df。iterrows()将在每个循环中返回行索引和行本身作为熊猫系列。然后,如果更容易的话,可以使用列的名称获取行值。
请尝试(我猜列的名称):
endpoint = 'http://www.google-analytics.com/collect'
for ind, row in df.iterrows():
r = requests.post(url = endpoint ,
data = {
'v' : "1",
't' : "event",
'pa' : "purchase",
'tid' : "xxx",
'cid' : row["cid"],
'ti' : row["ti"],
'ec' : "ecommerce",
'ea' : "transaction",
'ta' : "aaaa",
'tr' : row["tr"],
'cd1' : row["cd1"],
'cd2' : row["cd2"],
'cu' : "bbb",
"pr1id" : "ccc",
'pr1nm' : "ddd",
'pr1pr' : row['pr1pr'],
'pr1qt' : 1,
'cs' : "offline"
},
headers={'User-Agent': 'User 1.0'
}
)
time.sleep(0.1)
print(r.text)
更常见的是在pandas中使用apply函数来执行这种操作:
endpoint = 'http://www.google-analytics.com/collect'
def sendRowToGA(row):
r = requests.post(url = endpoint ,
data = {
'v' : "1",
't' : "event",
'pa' : "purchase",
'tid' : "xxx",
'cid' : row["cid"],
'ti' : row["ti"],
'ec' : "ecommerce",
'ea' : "transaction",
'ta' : "aaaa",
'tr' : row["tr"],
'cd1' : row["cd1"],
'cd2' : row["cd2"],
'cu' : "bbb",
"pr1id" : "ccc",
'pr1nm' : "ddd",
'pr1pr' : row['pr1pr'],
'pr1qt' : 1,
'cs' : "offline"
},
headers={'User-Agent': 'User 1.0'
}
)
print(r.text)
df.apply(sendRowToGA, axis = 1)
嘿, 我无法通过querystring将数据发布到action方法,action方法位于我的代码下面的控制器类中。 我键入一个url“http://localhost:53459/api/esb/post/test“发布价值,什么都不会发生 任何帮助都将不胜感激。
问题内容: 我正在尝试使用来自os x终端的curl命令在我的rails应用程序上创建用户。无论我如何格式化数据,应用程序都会返回未通过我的验证的响应。 我尝试了所有变化。我尝试使用[]括号,尝试了user = {data ..},但似乎没有任何效果。有任何想法吗? 问题答案: 首先,命令末尾有一个多余的“”。 试试这个
我有个大麻烦。我必须将应用程序中的一些参数发布到URL。但是,当我试图在WebView对象中执行此操作时,它会向我报告一个异常,该异常表示“不受信任的证书”(该异常由WebViewClient onReceivedSslError()的重写中的方法报告)。如何才能与服务器正确握手?你能给我一些提示吗?我快疯了... 真的,真的谢谢... 编辑:这是我定义webview的方式 这就是我在WebVie
我有一个问题。 我正在尝试设置简单的服务器,它将从传感器向mySQL发送数据。路径/bezp/数据。php?当我在web brower中执行此操作时,temperature=“number”正在工作。我还可以在串行监视器中看到文本“connected”,所以它会输入IF,但数据库仍然不会更新。 Arduino代码: 此外,温度传感器正在工作,我正在调用另一个文件中的函数。
我正在尝试数据发送到远程AWS API。 数据应该是部分上的。 使用邮递员,我可以发送数据,一切都正常工作: 现在,为了使用,我正在执行以下操作: 请求成功,但没有数据更新!好像没有收到一样。 我无法访问远程API日志文件。 所以我的问题是,这是在Guzzle请求的主体部分发布数据的正确方法吗? 谢了。
问题内容: 是否可以将数据发布到JsonP?还是所有数据都必须作为GET请求传递到查询字符串中? 我有很多数据需要跨域发送到服务,并且太大,无法通过查询字符串发送 解决这个问题有哪些选择? 问题答案: 由于同一个原始策略的(相当明智的)限制,因此无法与另一个域上的服务进行异步。JSON- P之所以起作用,是因为允许您将标签插入DOM,并且它们可以指向任何地方。 当然,您可以使用常规形式的POST来