在功能中调用函数时如何修复python中的AttributeError?

安娜·德米特里耶娃

如果有的话,我想在数据库表中写入新的 Google Analytics 帐户。

有 5 个函数连续执行,一个接一个:

  1. db_connection() - 连接到数据库
  2. get_current_sql_account_table() - 以数据帧格式使用 Google Analytics 帐户获取实际 SQL 表
  3. get_account_list() - 获取 GA 帐户列表并将其转换为数据帧
  4. compare_df() - 比较 2 个数据帧,如果有新的 GA 帐户,则使用此函数将它们写入数据库
  5. write_new_accounts_to_DB()

GA 服务密钥凭据放在变量中。

代码本身工作正常,但是当它被包装成函数并执行时,我得到了一个错误:

AttributeError: 'NoneType' object has no attribute 'cursor'
  1. db_connection()
  2. get_current_sql_account_table() ======== 这里是问题
  3. get_account_list()
  4. compare_df()
  5. write_new_accounts_to_DB()

cursorget_current_sql_account_table()函数中定义

def db_connection():

    #set parameters for connecting with the DB
    config = dict(server='Server', 
              port=Port,
              database='DB',
              username='User',
              password='Pass')

    #set parameters
    conn_str = ('SERVER={server},{port};'   +
            'DATABASE={database};'      +
            'UID={username};'           +
            'PWD={password}')

    #connect to DB
    conn = pyodbc.connect(
        r'DRIVER={Driver};' +
        conn_str.format(**config)
    )

    #open the cursor
    cursor = conn.cursor()

我试图db_connectionget_current_sql_account_table()函数中将a作为参数传递

def get_current_sql_account_table(conn):
    conn=db_connection
    sql_table_current = pd.read_sql('SELECT * FROM Table', con=conn)
    return sql_table_current

但得到了同样的错误

然后我尝试运行所有内容,但是 db config 不在函数中并且有另一个错误

NameError: name 'sql_table_current' is not defined.

我把所有的东西都放在主要的:

def main():
    sql_table_current_table=get_current_sql_account_table()
    accounts_response=get_account_list()
    conn=db_connection()
    compare_df()
    

if __name__ == '__main__':
    main()

并有此错误TypeError: compare_df() missing 2 required positional arguments: 'sql_table_current_table' and 'accounts_response'

我知道有一个愚蠢的错误,但无法到达

更新

当我尝试 tio 运行此代码时


def main():

    sql_table_current_table=get_current_sql_account_table()
    accounts_response=get_account_list()
    conn=db_connection()
    compare_df()
    

if __name__ == '__main__':
    main()

得到这个错误

NameError                                 Traceback (most recent call last)
<ipython-input-10-4c89335f4c9b> in <module>
     21 
     22 if __name__ == '__main__':
---> 23     main()

<ipython-input-10-4c89335f4c9b> in main()
      8     logging.info('Finished')
      9 
---> 10     sql_table_current_table=get_current_sql_account_table()
     11     accounts_response=get_account_list()
     12     conn=db_connection()

<ipython-input-2-92eb504dec52> in get_current_sql_account_table()
      1 def get_current_sql_account_table():
----> 2     sql_table_current = pd.read_sql('SELECT * FROM Table', con=conn)
      3     return sql_table_current

NameError: name 'conn' is not defined

但我之前确实把 conn=db_connection() 像这样

安娜·德米特里耶娃

我不得不将游标命名为全局变量。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

来自分类Dev

如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

来自分类Dev

调用函数时如何修复“标识符中的无效字符”

来自分类Dev

在Python中定义函数时如何调用列表?

来自分类Dev

当在刚体树中调用函数时,如何修复 cpp 中的“未定义引用”错误,例如 doKinematics、CreateKinematicCache

来自分类Dev

仅在文件中调用另一个函数时如何具有getopts功能

来自分类Dev

Python:从类A中的类B调用函数将返回AttributeError

来自分类Dev

调用函数时Python中的值错误

来自分类Dev

在python中调用类时在类中调用函数

来自分类Dev

APScheduler 回调函数 - 作业完成后如何在 python 中调用某些功能/模块?

来自分类Dev

在构造某些值的函数时,python / numpy中的AttributeError

来自分类Dev

调用函数时如何修复函数作用域问题

来自分类Dev

如何在ajax函数中调用自动完成功能

来自分类Dev

如何在Python中覆盖函数调用?

来自分类Dev

如何从python中的类调用外部函数

来自分类Dev

如何在python中调用多个函数

来自分类Dev

如何在Java中调用Python函数

来自分类Dev

如何在python中调用定义的函数?

来自分类Dev

Python。如何从字典中调用函数?

来自分类Dev

如何修复React自定义钩子中的``钩子只能在功能组件内部调用''错误?

来自分类Dev

如何修复PHP中的登录功能

来自分类Dev

如何修复“功能中的非详尽模式”

来自分类Dev

在python 3.6中解析时如何修复意外的EOF?

来自分类Dev

在函数中调用函数 - Python

来自分类Dev

Haskell中的“修复”类型和“修复”功能如何相同?

来自分类Dev

在python中使用barplot时如何修复AttributeError?

来自分类Dev

在Python psutil中调用函数时,如何监视CPU的使用情况?

来自分类Dev

如何从指令调用的函数中调用函数

来自分类Dev

如何修复 NameError: 在 Python 中?

Related 相关文章

  1. 1

    如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

  2. 2

    如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

  3. 3

    调用函数时如何修复“标识符中的无效字符”

  4. 4

    在Python中定义函数时如何调用列表?

  5. 5

    当在刚体树中调用函数时,如何修复 cpp 中的“未定义引用”错误,例如 doKinematics、CreateKinematicCache

  6. 6

    仅在文件中调用另一个函数时如何具有getopts功能

  7. 7

    Python:从类A中的类B调用函数将返回AttributeError

  8. 8

    调用函数时Python中的值错误

  9. 9

    在python中调用类时在类中调用函数

  10. 10

    APScheduler 回调函数 - 作业完成后如何在 python 中调用某些功能/模块?

  11. 11

    在构造某些值的函数时,python / numpy中的AttributeError

  12. 12

    调用函数时如何修复函数作用域问题

  13. 13

    如何在ajax函数中调用自动完成功能

  14. 14

    如何在Python中覆盖函数调用?

  15. 15

    如何从python中的类调用外部函数

  16. 16

    如何在python中调用多个函数

  17. 17

    如何在Java中调用Python函数

  18. 18

    如何在python中调用定义的函数?

  19. 19

    Python。如何从字典中调用函数?

  20. 20

    如何修复React自定义钩子中的``钩子只能在功能组件内部调用''错误?

  21. 21

    如何修复PHP中的登录功能

  22. 22

    如何修复“功能中的非详尽模式”

  23. 23

    在python 3.6中解析时如何修复意外的EOF?

  24. 24

    在函数中调用函数 - Python

  25. 25

    Haskell中的“修复”类型和“修复”功能如何相同?

  26. 26

    在python中使用barplot时如何修复AttributeError?

  27. 27

    在Python psutil中调用函数时,如何监视CPU的使用情况?

  28. 28

    如何从指令调用的函数中调用函数

  29. 29

    如何修复 NameError: 在 Python 中?

热门标签

归档