首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用odo在AWS上加载CSV -> postgres

使用odo在AWS上加载CSV -> postgres
EN

Stack Overflow用户
提问于 2017-09-18 20:33:55
回答 1查看 646关注 0票数 1

我试着做一些相当简单的事情,但是要么odo坏了,要么我不明白在这个包的上下文中数据隐藏是如何工作的。

CSV文件:

代码语言:javascript
复制
email,dob
tony@gmail.com,1982-07-13
blah@haha.com,1997-01-01
...

守则:

代码语言:javascript
复制
from odo import odo
import pandas as pd

df = pd.read_csv("...")
connection_str = "postgresql+psycopg2:// ... "

t = odo('path/to/data.csv', connection_str, dshape='var * {email: string, dob: datetime}')

错误:

代码语言:javascript
复制
AssertionError: datashape must be Record type, got 0 * {email: string, dob: datetime}

如果我也尝试直接从DataFrame -> Postgres出发,这也是相同的错误:

代码语言:javascript
复制
t = odo(df, connection_str, dshape='var * {email: string, dob: datetime}')

还有几件事情没有解决这个问题: 1)从CSV文件中删除头行,2)将var更改为DataFrame中的实际行数。

我在这里做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-03 23:36:52

connection_str有表名吗?当我遇到一个类似的问题时,它为我修正了它,但使用的是sqlite数据库。

应该是这样的:

代码语言:javascript
复制
connection_str = "postgresql+psycopg2://your_database_name::data"
t = odo(df, connection_str, dshape='var * {email: string, dob: datetime}')

“connection_str”中的“数据”是您的新表名。

另请参阅:

{...}

https://github.com/blaze/odo/issues/580

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46287776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档