我有一个很大的 mysql 表,我想使用 python 将它导出到 csv 文件。但是,当我使用 cursor.fetchall() 时,我的笔记本电脑挂了,当我使用
cursor.execute("select * from table_name")
while True:
rows = cursor.fetchmany(1000);
while rows is not None:
with open(table_name + ".csv", "a+") as csvfile:
writer = csv.writer(csvfile, delimiter=',')
writer.writerow(rows)
csvfile.close()
循环不会停止,在 csv 文件中,相同的行被多次写入。如何一点一点地将mysql表移动到csv?感谢您的帮助。
最佳答案
你正在使用 while 循环,它永远不会结束,因为没有任何中断条件。
Please use while loops very carefully.
您可以尝试下面的代码(假设行是记录列表):
cursor.execute("select * from table_name")
rows = cursor.fetchall()
with open(table_name + ".csv", "a+") as csvfile:
writer = csv.writer(csvfile, delimiter=',')
for row in rows:
writer.writerow(row)
关于python - 如何使用 fetchmany 将 mysql 表转储到 csv 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995914/