我有代码,我想应用于许多表,而不是简单地复制和替换表名,我想使用某种循环或光标来简化事情.
我设想设置一个表名的数组,并使用索引迭代列表,检索每个表名,并使用动态SQL在我的代码中散布表名.
因为据我所知,在SQL中没有"数组"构造,所以我不确定这是如何工作的.
关于如何解决这个问题的任何想法?
我做了大量的修补和搜索,最好的选择似乎是:
将输出发送到文本并复制/粘贴到文本文件或Excel或
输出到一个有点非常规的.rpt文件,我不确定你要做什么 - 在Excel中打开它不会保留原始输出中存在的格式.
对于看似非常常见的任务,我很惊讶没有更简单的方法来做到这一点.
任何人都可以提出一个比我概述的两种方法更简单的方法吗?
哦,为了它的价值,我正在研究SQL Server 2008.
如前所述,我在 Python 中创建了一个数据集合(40k 行,5 列),我想将其插入回 SQL Server 表中。
通常,在 SQL 中,我会'select * into myTable from dataTable'
调用执行插入操作,但是位于 Pandas 数据帧中的数据显然使这变得复杂。
我并不正式反对使用 SQLAlchemy(尽管更愿意避免再次下载和安装),但更喜欢在 Python 中本地执行此操作,并且我使用 pyodbc 连接到 SSMS。
有没有一种直接的方法可以避免循环(即逐行插入)?
在 Ubuntu 22.04 机器上运行,安装了 Spyder 3.9,安装了tensorflow 2.15。
只是尝试导入包,我运行并返回以下错误:
import tensorflow as tf
RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xe
Traceback (most recent call last):
File "/tmp/ipykernel_275746/3793406994.py", line 1, in <module>
import tensorflow as tf
File "/home/chris/anaconda3/lib/python3.9/site-packages/tensorflow/__init__.py", line 48, in <module>
from tensorflow._api.v2 import __internal__
File "/home/chris/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/__internal__/__init__.py", line 11, in <module>
from tensorflow._api.v2.__internal__ import distribute
File "/home/chris/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/__internal__/distribute/__init__.py", line 8, in <module>
from tensorflow._api.v2.__internal__.distribute import combinations
File "/home/chris/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/__internal__/distribute/combinations/__init__.py", line 8, in <module>
from tensorflow.python.distribute.combinations import …
Run Code Online (Sandbox Code Playgroud) 我创建了一个指数价格水平表(例如,标准普尔 500 指数),我想计算每日回报。表结构如下所示:
Date Value
2009-07-02 880.167341
2009-07-03 882.235134
2009-07-06 881.338052
2009-07-07 863.731494
2009-07-08 862.458985
Run Code Online (Sandbox Code Playgroud)
我想计算指数的每日算术回报(即百分比回报),定义为:
Daily Return = P(2)/P(1) - 1
Run Code Online (Sandbox Code Playgroud)
其中 P 表示这种情况下的索引值。鉴于上面提供的输入表,所需的输出将如下所示:
Date Return
2009-07-03 0.002349318
2009-07-06 -0.001016829
2009-07-07 -0.019977077
2009-07-08 -0.001473269
Run Code Online (Sandbox Code Playgroud)
我突然想到自连接会起作用,但我不确定增加第二个表上的日期以考虑周末的最佳方法。
关于解决此问题的最佳方法有什么想法吗?
我正在尝试创建一个依赖于scenario参数值的临时表,并使用以下IF语句,但得到以下错误:
IF @indexName = 'A'
begin select top 400 * into #temp from #pretemp order by EMRev desc end
ELSE IF @indexName = 'B'
begin select top 75 * into #temp from #pretemp order by EMRev desc end
ELSE IF @indexName = 'C'
begin select top 300 * into #temp from #pretemp order by EMRev desc end
ELSE
begin select top 100 * into #temp from #pretemp order by EMRev desc end
Run Code Online (Sandbox Code Playgroud)
消息2714,级别16,状态1,行179数据库中已存在名为"#temp"的对象.消息2714,级别16,状态1,行181数据库中已存在名为"#temp"的对象.消息2714,级别16,状态1,行183数据库中已存在名为"#temp"的对象.
我确定IF语句基于@indexName变量工作(用简单的东西替换block语句(例如,'select @indexName'),程序运行正常).
有关导致此错误的原因的任何想法?
我正在尝试使用请求和beautifulsoup 来检索和处理网络搜索的结果。
我编写了一些简单的代码来完成这项工作,它成功返回(状态 = 200),但请求的内容只是一条错误消息“对于给您带来的任何不便,我们深表歉意,但该站点目前不可用。” ,并且在过去几天中一直如此。然而,在 Firefox 中搜索返回的结果没有问题。我已经使用英国站点的 URL 运行了代码,并且它可以正常工作,所以我想知道美国站点是否设置为阻止抓取网络搜索的尝试。
有没有办法掩盖我试图从 Python 中检索搜索结果的事实(例如,伪装成 Firefox 中的标准搜索)或其他一些允许访问搜索结果的工作?
包含以下代码供参考:
import pandas as pd
from requests import get
import bs4 as bs
import re
# works
# baseURL = 'https://www.autotrader.co.uk/car-search?sort=sponsored&radius=1500&postcode=ky119sb&onesearchad=Used&onesearchad=Nearly%20New&onesearchad=New&make=TOYOTA&model=VERSO&year-from=1990&year-to=2017&minimum-mileage=0&maximum-mileage=200000&body-type=MPV&fuel-type=Diesel&minimum-badge-engine-size=1.6&maximum-badge-engine-size=4.5&maximum-seats=8'
# doesn't work
baseURL = 'https://www.autotrader.com/cars-for-sale/Certified+Cars/cars+under+50000/Jeep/Grand+Cherokee/Seattle+WA-98101?extColorsSimple=BURGUNDY%2CRED%2CWHITE&maxMileage=45000&makeCodeList=JEEP&listingTypes=CERTIFIED%2CUSED&interiorColorsSimple=BEIGE%2CBROWN%2CBURGUNDY%2CTAN&searchRadius=0&modelCodeList=JEEPGRAND&trimCodeList=JEEPGRAND%7CSRT%2CJEEPGRAND%7CSRT8&zip=98101&maxPrice=50000&startYear=2015&marketExtension=true&sortBy=derivedpriceDESC&numRecords=25&firstRecord=0'
a = get(baseURL)
soup = bs.BeautifulSoup(a.content,'html.parser')
info = soup.find_all('div', class_ = 'information-container')
price = soup.find_all('div', class_ = 'vehicle-price')
d = []
for idx, i in enumerate(info):
ii = i.find_next('ul').find_all('li')
year_ = ii[0].text
miles = re.sub("[^0-9\.]", "", ii[2].text)
engine …
Run Code Online (Sandbox Code Playgroud) 我有一个开始年份和结束年份,例如2017年和2019年.
我想在我声明的startYear和endYear之间创建一个包含年份和季度(例如,1,2,3,4)的表格,并在最终的endYear中设置季度,在2处停止(它始终向前看) .
下面的样本输出.
year quarter
2017 1
2017 2
2017 3
2017 4
2018 1
2018 2
2018 3
2018 4
2019 1
2019 2
Run Code Online (Sandbox Code Playgroud)
看起来它应该很简单,除了有些笨重的方法依赖于循环或UNION或只是手动将值插入表中,没有任何事情发生在我身上.