我试图导入200 SAS XPT文件到我的PostgreSQL数据库:
engine = create_engine('postgresql://user:pwd@server:5432/dbName')
for file in listdir(dataPath):
name, ext = file.split('.', 1)
with open(join(dataPath, file), 'rb') as f:
xport.to_dataframe(f).to_sql(name, engine, schema='schemaName', if_exists='replace', index=False)
print("Successfully wrote ", file, " to database.")
但是,生成的SQL对所有标识符都有双引号,例如:CREATE TABLE"Y2009"。"ACQ_F("SEQN"FLOAT(53),"ACD010A"FLOAT(53));
.问题是,如果列/表/模式是用引号创建的,每次我需要查询它们时,我必须包括引号,同时使用精确的大小写。
我想去掉引号,但我自己无法编写自定义SQL,因为这些文件的结构都非常不同。
PostgreSQL要求引用大写的表/列名(参考)。这就是为什么会引用SQLalchemy构造的SQL中的标识符。为了避免这种情况,请将dataframe的列名转换为所有小写:
with open(join(dataPath, file), 'rb') as f:
data = xport.to_dataframe(f)
data.columns = map(str.lower, data.columns)
data.to_sql(name.lower(), engine, schema='y2007')
问题内容: 我想删除我的json_encode中的双引号,即我的代码: 我的结果是: 我也想删除“ id_posiciones”和“ device_version”的双引号。 我该怎么做的结果是: 问题答案: 如果最后在您的正则表达式中添加下划线,它将执行此操作。 我认为那正是preg_replace的目的。
问题内容: 我想使用程序包执行Windows命令,但是Windows进行了一些奇怪的转义。 我有类似的东西: “SomeText” 但这会引发错误,因为Windows会将其转换为 有人知道为什么吗?如何使用exec程序包在Windows上执行? 谢谢! 问题答案: OK,这是一个比较复杂一点比你预期,但有 是 一个解决方案: 不幸的是,尽管在2011年添加了对此功能的支持,但它似乎尚未纳入文档中。
问题内容: 请检查以下代码。 该变量是一个包含指向我的图像文件夹(上载)的链接的变量,并且在该文件夹中,我还有一些其他文件夹,这些文件夹以我的用户名命名。例如:我有一个名为john的用户,因此链接应该看起来像this-> 。 主要思想是,当任何用户登录并浏览其图片库时,我都希望将他带到自己的画廊,该画廊基本上以他的名字命名。 当他访问画廊时,链接中的值将来自用户的登录名(来自会话)。现在的问题是,
请检查以下代码。 是一个变量,它包含一个指向我的图像文件夹(上传)的链接,在文件夹中,我有一些其他文件夹,它们以我的用户名命名。例如:我有一个用户的名字是约翰,所以链接应该是这样的- 主要的想法是,当任何用户登录并浏览他的图片库时,我想把他带到他自己的图片库,这个图片库基本上是以他的名字命名的。 当他访问多媒体资料时,链接中的值将来自用户的登录名(来自会话)。现在的问题是,您可能已经了解到,在上述
我正在使用XSLT1.0和XML。我对这些主题是新手,但我一直在阅读并尝试如何将XSLT应用于XML。现在,我给出了一个需要从XML元素中筛选出无效字段的项目。java Transformer类用于在XML上应用XSLT。java代码类似于oracle教程中“编写XSLT转换”一节。我已经添加了下面的xml和xsl,并运行教程页面中描述的代码。我的目标是提取单引号和双引号以及以下字符 XML文件
问题内容: 这是我的Json代码的示例: 如果我在程序中打印出该属性,则会得到以下输出: 如您所见,它保留了双引号。 有什么办法可以避免这种情况吗? 我的完整代码: java代码将其打印出来: 我的完整Java代码 我的Java程序的输出: 问题答案: 它的文档记录不正确,但是会为您提供一个表示JSON元素的字符串,并且适合于重新创建JSON序列化。你想要的是。如果您不查看字符串,这将引发错误,但