Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用现有Python数据向MySQL添加新列_Python_Mysql_Pandas_Data Structures - Fatal编程技术网

使用现有Python数据向MySQL添加新列

使用现有Python数据向MySQL添加新列,python,mysql,pandas,data-structures,Python,Mysql,Pandas,Data Structures,我试图使用Python中的现有数据将一个新列附加到MySQL表中 例如,如果我在MySQL中有一个2列1000行的表,在Python中还有一个1列1000行的Pandas dataframe,每个都对应于MySQL表中的等效行,那么如何将Pandas数据作为第3列附加到MySQL表中 我知道我可以使用以下代码添加新列: my_cursor.execute("ALTER TABLE example_table ADD column_3 INT(15)") 这将向MySQL表中

我试图使用Python中的现有数据将一个新列附加到MySQL表中

例如,如果我在MySQL中有一个2列1000行的表,在Python中还有一个1列1000行的Pandas dataframe,每个都对应于MySQL表中的等效行,那么如何将Pandas数据作为第3列附加到MySQL表中

我知道我可以使用以下代码添加新列:

my_cursor.execute("ALTER TABLE example_table ADD column_3 INT(15)")
这将向MySQL表中添加第3列,其中包含所有“NULL”值,但是我找不到用现有数据填充该列的方法

我尝试了以下方法,但它似乎只允许您输入单个整数或字符串,而不是像我在这里使用“pandas_data”数据框尝试的那样输入值数组:

my_cursor.execute("UPDATE example_table SET column_3 = pandas_data")
mydb.commit()

谢谢你的帮助。谢谢

每个对应于MySQL表中的等效行,这对于1列数据是不可能的。如果此列定义了与另一个表的关系(表中的哪一行与另一个表中的哪一行匹配),则此行中没有要添加的数据。如果此列包含要添加的数据,则没有关系信息-无法确定每个特定值必须添加到第二个表的哪一行中。我认为我没有很好地解释自己,因此我将重新措辞。假设我将MySQL中的两列导入到一个pandas数据框中,然后在此数据框中创建一个新的第3列,它只是第1列和第2列每行中两个值的平均值。因此,第3列的长度将与第1列和第2列的长度相同。然后我想将这个新列写回MySQL到表中(在第2列旁边追加第3列),而不必重新写入第1列和第2列。当然,我可以用全部3列覆盖MySQL中的整个表,但这似乎计算效率低下。我认为,对于1000行,截断然后保存新数据是最佳选择。