我的Excel表格需要帮助.如何IF正确申报以下条件?
if A1 = "n/a" then C1 = B1
else if A1 != "n/a" or has value(int) then C1 = A1*B1
Run Code Online (Sandbox Code Playgroud) 我试图刮掉http://www.dailyfinance.com/quote/NYSE/international-business-machines/IBM/financial-ratios,但传统的网址字符串构建技术不起作用,因为"全公司名称-is-inserted-in-path"字符串.并且事先并不知道确切的"完整公司名称".只有公司的标志,"IBM"才知道.
从本质上讲,我刮擦的方式是循环遍历公司符号数组并在将url字符串发送到urllib2.urlopen(url)之前构建它.但在这种情况下,这是不可能做到的.
例如,CSCO字符串是
http://www.dailyfinance.com/quote/NASDAQ/cisco-systems-inc/CSCO/financial-ratios
Run Code Online (Sandbox Code Playgroud)
另一个例子url字符串是AAPL:
http://www.dailyfinance.com/quote/NASDAQ/apple/AAPL/financial-ratios
Run Code Online (Sandbox Code Playgroud)
因此,为了获取URL,我必须在主页的输入框中搜索符号:
http://www.dailyfinance.com/
Run Code Online (Sandbox Code Playgroud)
我注意到当我输入"CSCO"并在Firefox Web开发人员网络选项卡中的(http://www.dailyfinance.com/quote/NASDAQ/apple/AAPL/financial-ratios)检查搜索输入时,我注意到获取请求正在发送给
http://j.foolcdn.com/tmf/predictivesearch?callback=_predictiveSearch_csco&term=csco&domain=dailyfinance.com
Run Code Online (Sandbox Code Playgroud)
并且引用者实际上给出了我想要捕获的路径
Host: j.foolcdn.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://www.dailyfinance.com/quote/NASDAQ/cisco-systems-inc/CSCO/financial-ratios?source=itxwebtxt0000007
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
很抱歉很长的解释.所以问题是如何在Referer中提取网址?如果那是不可能的,我应该如何处理这个问题?还有另外一种方法吗?
我非常感谢你的帮助.
我想在Windows上的python3中进行Google搜索。谷歌的说明说,他们支持python3并键入“ gcloud topic init”以获取详细信息-但这未能说明没有python2.7的解释器。我是否必须安装python2.7才能了解如何使其在python3上正常工作?
在python3上,我收到如下错误消息。我已经设置了API密钥和自定义搜索引擎。我做了“ pip install google-api-python-client”。我下载并运行了GoogleCloudSDKInstaller。这是错误:
from googleapiclient.discovery import build
service = build("customsearch", "v1", developerKey="xxxxxx")
Run Code Online (Sandbox Code Playgroud)
我得到:
[googleapiclient.discovery_cache:WARNING]:file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth (__init__.py:44, time=Apr-07 17:25) Traceback (most recent call last): File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\__init__.py", line 36, in autodetect
from google.appengine.api import memcache ModuleNotFoundError: No module named 'google.appengine'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\file_cache.py", line 33, in <module>
from oauth2client.contrib.locked_file import LockedFile ModuleNotFoundError: No module named 'oauth2client' …Run Code Online (Sandbox Code Playgroud) python google-app-engine google-search-api python-3.x google-custom-search
在VBA过程中,我们通常会在对现有对象实例的对象引用进行实例化时不断满足关键字New.但在某些实例中,我们使用关键字New,而在其他实例中,我们不使用例如:
Dim T As Excel.Workbook
Set T = Application.Workbooks(Bk)
在上面的示例No.1中,未使用"新"关键字
Dim fso As FileSystemObject
Set fso = New FileSystemObject
在上面的例子2号的新的关键字被正在使用
为什么?请记住,我是VBA的新船,但我会尽我所能去理解!
除此之外,我在使用/不用于声明对象引用时也会感到困惑,例如:
Dim WS As Worksheet
在上面的示例No.1中,未使用"新"关键字
Dim myClassModule As New cl_ChartEvents
在上面的例子2号的新的关键字被正在使用
微软帮助只是告诉我什么......
允许隐式创建对象的关键字.如果在声明对象变量时使用New,则在首次引用该对象时会创建该对象的新实例,因此您不必使用Set语句来分配对象引用.
Gratz2u
亲爱的人们,这是最后一次了解深刻理解
Dim WS as Worksheet
Set WS = Worksheets("Sheet1")
就在这里,我们正在创建一个已经存在的对象,以便打开MS Excel(当然,以"默认模式"为例)当然是Sheet1.既然它存在且New关键字是不可能的,我们怎么能立即在一行中实例化这个对象?
4 @exantas
对不起说没有足够的代表发布pic :-(
我在工作簿的一个工作表上定义了大量命名单元格.每个名称可能在该工作表上或工作簿中的其他名称上多次(或从不)使用.有没有办法获取工作簿中使用名称的其他位置的列表?
例如,假设我定义了Fred一个单元格的名称Sheet1.在sheet2上有一个等式,即B6单元格=Fred*6.如何获得返回功能Sheet2!B6以及使用的任何其他位置Fred?
我希望这很清楚.:)
所以我试图在网站上打开一个网站/网址提取excel文件,编辑它,然后把它放在不同的网站上.我在这个网站上发现了另一条评论,对于如何使用它有很好的建议import pandas.我从python网站下载了pandas(以及其他一些模块),并编写了代码.但是当我尝试运行它时,我收到以下错误
Warning (from warnings module):
File "C:\Python27\lib\site-packages\pandas\io\excel.py", line 626
.format(openpyxl_compat.start_ver, openpyxl_compat.stop_ver))
UserWarning: Installed openpyxl is not supported at this time. Use >=1.6.1 and <2.0.0.
Traceback (most recent call last):
File "C:\Python27\more_url_stuff.py", line 6, in <module>
socket = urllib2.urlopen(link)
File "C:\Python27\lib\urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "C:\Python27\lib\urllib2.py", line 410, in open
response = meth(req, response)
File "C:\Python27\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python27\lib\urllib2.py", line 448, in error
return …Run Code Online (Sandbox Code Playgroud) 所以我有一个不使用数据库的Django项目('DATABASES'设置被注释掉了).我选择使用Django,因为我将来可能需要数据库功能.无论如何,我已经在这个项目上工作了几个月而没有任何问题.我正在运行Linux Mint,python manage.py runserver到目前为止使用该命令并没有遇到麻烦.
好吧,今天我启动了应用程序并启动了本地服务器没有任何问题.然后我尝试在浏览器中打开应用程序并收到相当可怕的错误消息:
Traceback (most recent call last):
File "/home/peter/.virtualenvs/vis_it/lib/python3.3/site-packages/django/contrib/sessions/backends/base.py", line 170, in _get_session
return self._session_cache
AttributeError: 'SessionStore' object has no attribute '_session_cache'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/peter/.virtualenvs/vis_it/lib/python3.3/site-packages/django/core/handlers/base.py", line 87, in get_response
response = middleware_method(request)
File "/home/peter/.virtualenvs/vis_it/lib/python3.3/site-packages/django/contrib/auth/middleware.py", line 34, in process_request
if user and hasattr(user, 'get_session_auth_hash'):
File "/home/peter/.virtualenvs/vis_it/lib/python3.3/site-packages/django/utils/functional.py", line 224, in inner
self._setup()
File "/home/peter/.virtualenvs/vis_it/lib/python3.3/site-packages/django/utils/functional.py", line 357, in _setup
self._wrapped = self._setupfunc()
File "/home/peter/.virtualenvs/vis_it/lib/python3.3/site-packages/django/contrib/auth/middleware.py", line …Run Code Online (Sandbox Code Playgroud) 我是项目业主,我完全控制了桶.我想给另一个用户提供对该存储桶的完全访问控制,但我没有设法做到这一点.该用户的邮件是an_email_address@gmail.com,他被列为项目的所有者,但如前所述,不能完全控制该桶.
我还尝试通过gsutil给他访问:如果是getacl的输出,这是一个片段.
<EmailAddress>an_email_address@gmail.com</EmailAddress>
<Name>User Name</Name>
</Scope>
<Permission>FULL_CONTROL</Permission>
Run Code Online (Sandbox Code Playgroud)
如果他登录云存储控制台,则不能例如更改对象的权限等.
您能否提供一些如何进行的提示?
我想要VBA代码或公式将采用可变日期值并在列表日期范围内找到它.如果找不到我希望它找到最接近的前一个日期值的日期. VLOOKUP非常适合找到完全匹配,但我正在努力寻找代码以找到最接近的上一个日期.
我唯一的想法是创建一个循环,如果它不匹配它继续从变量日期减去一天,直到它可以在列表上找到匹配.这似乎不是最好或最有效的方法,我希望有人可以推荐一个更简单的解决方案.
例:
Variable Date = 01/26/2014
Date List
02/04/2014
01/27/2014
01/24/2014
01/13/2014
12/29/2013
Desired Result = 01/24/2014
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
我学习python(2.7版本),我有任务使用lxml库(http://lxml.de/)通过xsd模式检查xml文档。我有两个文件 - 像这样的例子:
$ cat 1.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<a>
<b>?????? ???!</b>
</a>
Run Code Online (Sandbox Code Playgroud)
和
$cat 2.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="a" type="AType"/>
<xs:complexType name="AType">
<xs:sequence>
<xs:element name="b" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
它应该非常简单,但我不明白如何将 lxml 与 utf-8 一起使用(从不使用硬编码)。我做简单的步骤:
>>> from lxml import etree
>>> schema = etree.parse("/tmp/qwerty/2.xsd")
>>> xmlschema = etree.XMLSchema(schema)
>>> try:
document = etree.parse("/tmp/qwerty/1.xml")
print "Parse complete!"
except etree.XMLSyntaxError, e:
print e
Parse complete!
>>> xmlschema.validate(document)
False
>>> xmlschema.error_log
Traceback …Run Code Online (Sandbox Code Playgroud) 数据:
{'Open': {0: 159.18000000000001, 1: 157.99000000000001, 2: 157.66, 3: 157.53999999999999, 4: 155.03999999999999, 5: 155.47999999999999, 6: 155.44999999999999, 7: 155.93000000000001, 8: 155.0, 9: 157.72999999999999},
'Close': {0: 157.97999999999999, 1: 157.66, 2: 157.53999999999999, 3: 155.03999999999999, 4: 155.47999999999999, 5: 155.44999999999999, 6: 155.87, 7: 155.0, 8: 157.72999999999999, 9: 157.31}}
Run Code Online (Sandbox Code Playgroud)
码:
import pandas as pd
d = #... data above.
df = pd.DataFrame.from_dict(d)
df['Close_Stdev'] = pd.rolling_std(df[['Close']],window=5)
print df
# Close Open Close_Stdev
# 0 157.98 159.18 NaN
# 1 157.66 157.99 NaN
# 2 157.54 157.66 NaN …Run Code Online (Sandbox Code Playgroud) 我将首先描述该场景,因为我可能会使问题过于复杂,如果是这样,我将删除该问题。
我正在运行一个每天重新创建一个表的脚本。由于创建的性质,必须删除现有表,然后创建新表。过程基本上是这样的:
CREATE TABLE AS查询并为表指定一个占位符名称。DROP TABLE IF EXISTS现有的表。ALTER TABLE RENAME新创建的表。但是,部分要求是,如果删除或重命名时出现错误,我应该能够回滚删除并仍然保留新创建的“临时”表。显然,我必须进行交易。
那么,如何编写完整的脚本呢?我在想类似...
CREATE TABLE target_temp AS SELECT * FROM src;
BEGIN;
DROP TABLE IF EXISTS target;
ALTER TABLE target_temp RENAME TO target
COMMIT;
Run Code Online (Sandbox Code Playgroud)
或者我应该搬到BEGIN;之前CREATE TABLE?如果我理解正确的话,通过这样做,如果删除/重命名中出现错误,即使创建命令也会回滚,对吧?因为这不是所需要的。
我有一个Selection可以是任何随机范围,例如("A1:O10")
我需要确保此范围内的所有单元格都是空白的NULL.
我怎样才能做到这一点 ?
For Each c In Selection.Cells
If Abs(c.Value) = "" Then c.Value = "NULL"
Next
Run Code Online (Sandbox Code Playgroud)