- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 requests.get()
获取一些 json。之后,我想将数据插入到 postgresql 中。发生了一些非常有趣的事情,如果我使用 df.to_sql(index=False)
,数据毫无问题地附加到 postgresql 中,但是 postgresql 中的 Id 没有创建自动增量值;该列完全是空的。如果我消除 df.to_sql()
中的参数,则会出现以下错误... IntegrityError: (psycopg2.IntegrityError) duplicate key value violates unique constraint
。这是我的代码...
import requests
import pandas as pd
import sqlalchemy
urls = ['https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22DIA%22%20and%20startDate%20%3D%20%222015-01-01%22%20and%20endDate%20%3D%20%222015-12-31%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22DIA%22%20and%20startDate%20%3D%20%222016-01-01%22%20and%20endDate%20%3D%20%222016-11-08%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22SPY%22%20and%20startDate%20%3D%20%222015-01-01%22%20and%20endDate%20%3D%20%222015-12-31%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22SPY%22%20and%20startDate%20%3D%20%222016-01-01%22%20and%20endDate%20%3D%20%222016-11-08%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22IWN%22%20and%20startDate%20%3D%20%222015-01-01%22%20and%20endDate%20%3D%20%222015-12-31%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22IWN%22%20and%20startDate%20%3D%20%222016-01-01%22%20and%20endDate%20%3D%20%222016-11-08%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=']
df_list = []
for url in urls:
data = requests.get(url)
data_json = data.json()
df = pd.DataFrame(data_json['query']['results']['quote'])
df_list.append(df)
quote_df = pd.concat(df_list)
engine = sqlalchemy.create_engine('postgresql://postgres:wpc,.2016@localhost:5432/stocks')
quote_df.to_sql('quotes', engine, if_exists='append')
我想用 postgresql 自动增量索引将 df
插入到 postgresql 中。我该如何修复我的代码才能做到这一点。
我添加以下代码来修复数据框中的索引......
quote_df = pd.concat(df_list)
quote_df.index.name = 'Index'
quote_df = quote_df.reset_index()
quote_df['Index'] = quote_df.index
engine = create_engine('postgresql://postgres:wpc,.2016@localhost:5432/stocks')
quote_df.to_sql('quotes', engine, if_exists = 'append', index=False) 引擎.dispose()
现在我在附加到 postgresql 时遇到以下错误...
ProgrammingError: (psycopg2.ProgrammingError) column "Index" of relation "quotes" does not exist LINE 1: INSERT INTO quotes ("Index", "Adj_Close", "Close", "Date", "...
该列确实存在于数据库中。
最佳答案
一种方法(在许多方法中)是:
获取最大 Id
并将其存储到一个变量(我们称它为 max_id
):
select max(Id) from quotes;
现在我们可以这样做:
原始DF:
In [55]: quote_df
Out[55]:
Adj_Close Close Date High Low Open Symbol Volume
0 170.572764 173.990005 2015-12-31 175.649994 173.970001 175.089996 DIA 5773400
1 172.347213 175.800003 2015-12-30 176.720001 175.619995 176.570007 DIA 2910000
2 173.50403 176.979996 2015-12-29 177.25 176.00 176.190002 DIA 6145700
.. ... ... ... ... ... ... ... ...
213 88.252244 89.480003 2016-01-06 90.099998 89.080002 89.279999 IWN 1570400
214 89.297697 90.540001 2016-01-05 90.620003 89.75 90.410004 IWN 2053100
215 88.893319 90.129997 2016-01-04 90.730003 89.360001 90.550003 IWN 2540600
[1404 rows x 8 columns]
现在我们可以将索引增加max_id
:
In [56]: max_id = 123456 # <-- you don't need this line...
In [57]: quote_df.index += max_id
并将索引设置为 Id
列:
In [58]: quote_df.reset_index().rename(columns={'index':'Id'})
Out[58]:
Id Adj_Close Close Date High Low Open Symbol Volume
0 123456 170.572764 173.990005 2015-12-31 175.649994 173.970001 175.089996 DIA 5773400
1 123457 172.347213 175.800003 2015-12-30 176.720001 175.619995 176.570007 DIA 2910000
2 123458 173.50403 176.979996 2015-12-29 177.25 176.00 176.190002 DIA 6145700
... ... ... ... ... ... ... ... ... ...
1401 123669 88.252244 89.480003 2016-01-06 90.099998 89.080002 89.279999 IWN 1570400
1402 123670 89.297697 90.540001 2016-01-05 90.620003 89.75 90.410004 IWN 2053100
1403 123671 88.893319 90.129997 2016-01-04 90.730003 89.360001 90.550003 IWN 2540600
[1404 rows x 9 columns]
现在应该可以将此 DF 写入 PostgreSQL 指定 (index=False
)
关于python - 使用 idx 自动增量将数据框插入 postgresql sqlalchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40519046/
假设数组中的所有元素的值都不同于 undefined , null或0 ,是 if (idx < arr.length)相当于if (arr[idx]) ? 最佳答案 没有。 还有其他falsy if
假设数组中的所有元素的值都不同于 undefined , null或0 ,是 if (idx < arr.length)相当于if (arr[idx]) ? 最佳答案 没有。 还有其他falsy if
我试图使用 selenium 下载文件,例如: ftp://ftp.sec.gov/edgar/full-index/1993/QTR1/form.idx ftp://ftp.sec.gov/edga
似乎普遍认为使用 np.take 比数组索引要快得多。例如http://wesmckinney.com/blog/numpy-indexing-peculiarities/ , Fast numpy
对于挑战,a fellow code golfer wrote the following code : import java.util.*; public class Main { publi
这个问题在这里已经有了答案: Iterate over defined elements of a JS array (7 个答案) 关闭 3 年前。 我是编码新手,这种情况对我来说是个大问题。我正
我正在尝试执行 postgresql 查询,但出现语法错误。查询是: c.execute("CREATE TABLE smaller_coverage " "AS (SELECT dono
我读了这个here ,我正在创建一个房地产网站。我熟悉 PHP 和 MySQL,也准备好编写脚本,但真的找不到任何开始。我想编写一个 PHP 脚本,通过来自他的 MLS 公司的 FTP Zip 文件每
特征 RandomAccessIterator 定义了以下函数: fn idx(&mut self, index: uint) -> Option; 由于 self 是可变的,我希望调用 idx()
(在我开始之前,让我们假设这是一个面试问题,我的目的是避免仅仅调用 sorted。) 我有这段有效的 Python 代码: def merge_sorted_lists(left, right):
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭去年。 Im
我有一个用 delphi 编写的应用程序,它是最近的,在 win32 上运行我想用 odbc 连接到数据库,但我不确定要使用哪个数据库驱动程序 数据库所在的目录有.dat.idx每个表的文件 它是一个
我正在编写一些代码,以在 24 小时内每分钟创建并运行 18000 个测试,并将结果存储在我可以做到的 .dat 文件中。 我的下一个任务是在每小时开始时获取时间戳、设备 ID 和随机测试 ID 并将
我正在 MySql Workbench 上工作,每次重命名表/列时,现有的 FK 和 IDX 名称都不会更改。我最终得到了一个所有 FK/IDX 名称都困惑的模型。有没有办法根据新的表和列名称重新生成
我正在 requests.get() 获取一些 json。之后,我想将数据插入到 postgresql 中。发生了一些非常有趣的事情,如果我使用 df.to_sql(index=False),数据毫无
在 Rust 1.14 中,Index trait定义如下: pub trait Index where Idx: ?Sized { type Output: ?Sized; fn i
我正在为一个主要网站实现 WCAG 可访问性报告。可以预见,反复出现的问题之一是表单中的标签。 直到现在,我一直认为将表单标签与其元素相关联的正确方法是在标签的表单属性中使用输入元素的名称,如下所示:
Node.js puppeteer - 下载并打开 .idx 文件 我正在使用 node.js 和 puppeteer 来获取一些数据。我可以单击/下载 .idx 文件...但是如何打开它并处理数据?
我正在运行一个程序: 创建一个ArrayList 在这个数组的顶部添加一些元素 创建一个将减少的“基础”元素 然后使用 for 循环减少基元素并将其添加到数组的顶部(索引 0) 没想到我得到的输出是可
在 Windows Server 2008 上运行的 ASP.NET C# 应用 我发现 Git .idx 和 .pack 文件对编程删除特别有抵抗力: C:\github\my-org\my-rep
我是一名优秀的程序员,十分优秀!