python 读取mysql的每个表格 根据每张表相同时间的净流入列求和,把每张表所有相同的时间都按照这种方式求出来,如果其中一张表的某一个时间的净流入是null,则让null=0
时间: 2024-02-18 18:05:14 浏览: 61
表格数据求和
好的,针对您的需求,我更新一下代码:
```python
import pymysql
# 连接到 MySQL 数据库
connection = pymysql.connect(host='localhost', user='user', password='password', db='database')
# 获取表格名称
cursor = connection.cursor()
cursor.execute("SHOW TABLES;")
tables = [table[0] for table in cursor.fetchall()]
# 定义查询语句和时间列表
query = "SELECT IFNULL(SUM(net_flow), 0) FROM {} WHERE time = '{}';"
times = ['2022-01-01', '2022-01-02', '2022-01-03']
# 遍历每个表格,求和相同时间的净流入列
sums = {}
for table in tables:
table_sums = []
for time in times:
cursor.execute(query.format(table, time))
result = cursor.fetchone()[0]
table_sums.append(result)
sums[table] = table_sums
# 关闭数据库连接
connection.close()
# 处理求和结果
# ...
```
在这个版本中,我添加了一个名为 `query` 的字符串变量,它使用 `IFNULL` 函数将 `null` 值替换为 `0`。此外,我还添加了一个名为 `times` 的列表变量,其中包含要查询的时间值。
在遍历每个表格时,我为每个表格创建一个名为 `table_sums` 的列表变量,并在每个时间值上执行查询。如果查询结果为 `null`,我将其替换为 `0`。然后,我将 `table_sums` 列表添加到名为 `sums` 的字典变量中,其中键为表格的名称。
最后,您可以使用 `sums` 字典变量中的数据进行进一步处理。
阅读全文