python中的SQL输出-如何将数据框中的所有元组转换为字符串

JanineKNZ

我正在使用jpype,jaydebeapi连接到可以正常工作的Oracle数据库,但是sql返回元组,而不是在每个字符后带有方括号和逗号的字符串。

例如,它代替狗返回(d,o,g,)

在DBeaver或Toad中运行相同的SQL会返回该字符串,而不会像您期望的那样进行更改。

请问如何返回不带括号和逗号的字符串?(我仍然可以使用数据,但是在图表中看起来很奇怪,这使得图表和其他输出难以阅读)。

我已经在Google和stackoverflow中搜索了类似的问题(link1link2link3),但是这些解决方案都不对我有用我需要找到一种遍历所有列的方法,以找到具有dtype字符串的列,然后将所有元组加入其中。

这是如何返回数据的屏幕截图:df_screenshot

这里是一个枢轴(示出可以在不使用括号和逗号使用的数据)的屏幕截图:pivot_screenshot

这是图表的屏幕截图(再次显示带有括号和逗号的字符串):chart_screenshot

我用于连接的代码如下(据我所知,这没有问题吗?):

import jpype, jaydebeapi 

import pandas as pd

jpype.startJVM(f"-Djava.class.path=D:\jdbc\ojdbc8.jar")

url = "jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_TIMEOUT=1000)(TRANSPORT_CONNECT_TIMEOUT=1000)(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST="")(PORT=""))(ADDRESS=(PROTOCOL=TCP)(HOST="")(PORT=""))(ADDRESS=(PROTOCOL=TCP)(HOST="")(PORT="")))(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST="")(PORT=""))(ADDRESS=(PROTOCOL=TCP)(HOST="")(PORT=""))(ADDRESS=(PROTOCOL=TCP)(HOST="")(PORT="")))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME="")))"

user = "" 
password = "" 

conn=jaydebeapi.connect("oracle.jdbc.OracleDriver", url, [user, password])

cursor = conn.cursor()

sql_query = ''''''

cursor.execute(sql_query)
data = cursor.fetchall()

columns = [desc[0] for desc in cursor.description]
columns = [''.join(i) for i in columns]

cursor.close()
data = pd.DataFrame(data)
data.columns = columns

pd.options.display.float_format = '{:,.0f}'.format
pivot = pd.pivot_table(data, index=['COUNTRY'], values=['CUSTOMERS'], aggfunc=(sum))

pivot.plot(kind='bar')

conn.close()
jpype.shutdownJVM()

到目前为止,这是我尝试过的:

for col in data.columns:
    for ix in data.index:
        data[ix][col] = ''.join(data[ix][col])

这将返回一个Keyerror:0

data.select_dtypes(include=['object']).agg(' '.join)

#and

data.select_dtypes(include=['object']).apply(lambda x: ''.join(x))

这两个都返回TypeError:序列项0:预期的str实例,找到java.lang.String

我当然已经查询了这些错误消息,但无法分辨我在做什么错。

非常感谢您的帮助!

谢谢!!!

更新:我刚刚注意到,当我将dtype'object'转换为'category'(这样做是为了可以在数据透视表中对列进行排序)时,它显示的字符串没有括号和逗号。因此,然后我尝试根据每个帖子链接4的代码将所有“对象”列转换为“类别”

data = pd.concat([
        data.select_dtypes([], ['object']),
        data.select_dtypes(['object']).apply(pd.Series.astype, dtype='category')
        ], axis=1).reindex(data.columns, axis=1) 

但是,现在出现以下错误:ValueError:设置具有序列的数组元素

如果我一一列出每一列,似乎似乎是可行的:-S

凯特

您可以尝试为datadataFrame运行以下命令

for col in data.select_dtypes(include=['object']).columns:
    data[col] = data[col].apply(lambda x: ''.join(x) if x is not None else x)

它应遍历所有包含文本或数字和非数字混合值的列,并将元组元素转换为字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Python数据结构中的所有小数转换为字符串?

来自分类Dev

将 R 中数据框中的所有值转换为字符串

来自分类Dev

如何将字符串转换为Bash中的所有空格?

来自分类Dev

将SQL输出转换为Python中的字符串

来自分类Dev

如何将unicode中的元组的元组转换为python中的pandas数据框

来自分类Dev

Python如何将字符串转换为数据框?

来自分类Dev

如何将二维numpy数组中的所有数字转换为字符串?

来自分类Dev

如何将字节转换为数据帧中条目的字符串(Python)?

来自分类Dev

如何将组合框的值转换为 vba 模块中的字符串?

来自分类Dev

如何将.txt文件中的字符串列表转换为数据框

来自分类Dev

如何将数据框中的所有非数字单元格转换为 NA

来自分类Dev

如何将数据帧中的datetime.time列转换为字符串

来自分类Dev

如何将字符串转换为可以存储在数据库中的日期?

来自分类Dev

如何将数据帧的单行转换为 Scala 中的字符串?

来自分类Dev

如何将数据框中的所有 0 替换为诸如“.”之类的字符。或者 ”-”?

来自分类Dev

如何将Java字符串中的所有'x'替换为数字

来自分类Dev

如何将复杂的字符串转换为键值中带有“”的JSON?

来自分类Dev

创建时如何将字符串转换为模型中的现有属性

来自分类Dev

如何将一列中所有值的数据框转换为多列中的数据框?

来自分类Dev

如何将包含元组列表的字典中的字典转换为pandas数据框

来自分类Dev

将列表中的所有字符串转换为float。适用于单个列表,但不适用于数据框

来自分类Dev

将数据框中的字符串转换为向量并取消嵌套数据框

来自分类Dev

如何将 IEnumerable 转换为字符串以将其放入 c# 中的消息框中?

来自分类Dev

如何将字符串数组转换为D中的字符串?

来自分类Dev

如何将字符串转换为数组中的字符串数组

来自分类Dev

我如何将组合框字符串值转换为整数以在C#中解析为mysql数据库

来自分类Dev

如何将元组与Pandas数据框中的字符串连接?

来自分类Dev

如何将 unicode 转换为 Python 字符串中的重音字符

来自分类Dev

如何将列表的所有内容转换为单个字符串以作为dataframe.select()中的参数传递?

Related 相关文章

  1. 1

    如何将Python数据结构中的所有小数转换为字符串?

  2. 2

    将 R 中数据框中的所有值转换为字符串

  3. 3

    如何将字符串转换为Bash中的所有空格?

  4. 4

    将SQL输出转换为Python中的字符串

  5. 5

    如何将unicode中的元组的元组转换为python中的pandas数据框

  6. 6

    Python如何将字符串转换为数据框?

  7. 7

    如何将二维numpy数组中的所有数字转换为字符串?

  8. 8

    如何将字节转换为数据帧中条目的字符串(Python)?

  9. 9

    如何将组合框的值转换为 vba 模块中的字符串?

  10. 10

    如何将.txt文件中的字符串列表转换为数据框

  11. 11

    如何将数据框中的所有非数字单元格转换为 NA

  12. 12

    如何将数据帧中的datetime.time列转换为字符串

  13. 13

    如何将字符串转换为可以存储在数据库中的日期?

  14. 14

    如何将数据帧的单行转换为 Scala 中的字符串?

  15. 15

    如何将数据框中的所有 0 替换为诸如“.”之类的字符。或者 ”-”?

  16. 16

    如何将Java字符串中的所有'x'替换为数字

  17. 17

    如何将复杂的字符串转换为键值中带有“”的JSON?

  18. 18

    创建时如何将字符串转换为模型中的现有属性

  19. 19

    如何将一列中所有值的数据框转换为多列中的数据框?

  20. 20

    如何将包含元组列表的字典中的字典转换为pandas数据框

  21. 21

    将列表中的所有字符串转换为float。适用于单个列表,但不适用于数据框

  22. 22

    将数据框中的字符串转换为向量并取消嵌套数据框

  23. 23

    如何将 IEnumerable 转换为字符串以将其放入 c# 中的消息框中?

  24. 24

    如何将字符串数组转换为D中的字符串?

  25. 25

    如何将字符串转换为数组中的字符串数组

  26. 26

    我如何将组合框字符串值转换为整数以在C#中解析为mysql数据库

  27. 27

    如何将元组与Pandas数据框中的字符串连接?

  28. 28

    如何将 unicode 转换为 Python 字符串中的重音字符

  29. 29

    如何将列表的所有内容转换为单个字符串以作为dataframe.select()中的参数传递?

热门标签

归档