遍历元组内的元组并使用元组内的字符串作为变量
iterating over tuples inside a tuple and using string inside tuples as a variable
我在数据库中有很多 table,我正在使用 pymysql 连接到我的数据库并获得所有 table 名称。当我打印所有 table 名称时,它们存储如下:
tables = (('table1',), ('table2',), ('table3',), etc...)
我想要做的是为每个 table,将它们变成一个具有自己 table 名称的数据框。这是我试过的:
for table in tables:
table[0] = pd.read_sql(f'select * from {table[0]}', con = conn)
并且还通过将元组转换为列表,但是我认为字符串是问题所在,我如何去掉撇号以便将它们用作变量,或者没有这样的方法吗?
我找不到任何关于 SO 的相关问题,只有一些给了我一些想法的东西。
TypeError: 'tuple' object does not support item assignment when swapping values
How can I iterate over only the first variable of a tuple
元组是不可变对象你不能这样做,第一个查询返回的结果是元组的元组:
some_tuple[dome_index] = value
这将生成一个元组的元组,其中一个元素是数据框:
tables = tuple((pd.read_sql(f'select * from {table_name}', con = conn),) for (table_name,) in tables)
编辑:
您可以创建一个元组对 table_name, dataframe
:
tables = tuple((table_name, pd.read_sql(f'select * from {table_name}', con = conn)) for (table_name,) in tables)
你需要字典:
tables = {table_name: pd.read_sql(f'select * from {table_name}', con = conn) for (table_name,) in tables}
我在数据库中有很多 table,我正在使用 pymysql 连接到我的数据库并获得所有 table 名称。当我打印所有 table 名称时,它们存储如下:
tables = (('table1',), ('table2',), ('table3',), etc...)
我想要做的是为每个 table,将它们变成一个具有自己 table 名称的数据框。这是我试过的:
for table in tables:
table[0] = pd.read_sql(f'select * from {table[0]}', con = conn)
并且还通过将元组转换为列表,但是我认为字符串是问题所在,我如何去掉撇号以便将它们用作变量,或者没有这样的方法吗?
我找不到任何关于 SO 的相关问题,只有一些给了我一些想法的东西。
TypeError: 'tuple' object does not support item assignment when swapping values
How can I iterate over only the first variable of a tuple
元组是不可变对象你不能这样做,第一个查询返回的结果是元组的元组:
some_tuple[dome_index] = value
这将生成一个元组的元组,其中一个元素是数据框:
tables = tuple((pd.read_sql(f'select * from {table_name}', con = conn),) for (table_name,) in tables)
编辑:
您可以创建一个元组对 table_name, dataframe
:
tables = tuple((table_name, pd.read_sql(f'select * from {table_name}', con = conn)) for (table_name,) in tables)
你需要字典:
tables = {table_name: pd.read_sql(f'select * from {table_name}', con = conn) for (table_name,) in tables}