gpt4 book ai didi

oracle - Pandas 和 SQL 炼金术 : Specify Column Data Types

转载 作者:行者123 更新时间:2023-12-01 03:05:15 25 4
gpt4 key购买 nike

更新:

我看到了一些指导 here ,但是当我使用下面的代码将数据从 pandas 插入 Oracle 时,我似乎无法弄清楚如何指定列类型。例如,一列是日期,但在导入时,它会转换为字符串。

另外,如果我希望我的 Oracle 数据库中的列名略有不同,我是否需要先通过 pandas 重命名这些列,然后通过 to_sql 将它们发送到 Oracle?

import pandas as pd
from sqlalchemy import create_engine
import cx_Oracle as cx
pwd=input('Enter Password for server:')
engine = create_engine('oracle+cx_oracle://schema:'+pwd+'@server:1521/service_name')
df=pd.read_csv(r'path\data.csv',encoding='latin-1',index_col=0)
name='table1'
df.to_sql(name,engine,if_exists='append')

最佳答案

请阅读 SQL Data Types pandas 文档的部分以及 to_sql方法。

您可以使用 dtype 参数指定数据类型,如下所示:

from sqlalchemy.types import String, Date, DateTime
df.to_sql(table_name, engine, if_exists='append', dtype={'mydatecol': DateTime})

关于列名,最简单的方法是在调用to_sql之前重命名dataframe中的列:

df2 = df.rename(columns={'oldname': 'newname', ...})

关于oracle - Pandas 和 SQL 炼金术 : Specify Column Data Types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36755450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com