python - 如何使用 fetchmany 将 mysql 表转储到 csv 中

标签 python mysql

我有一个很大的 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/

相关文章:

python - 检查 Python 中函数/方法中参数的类型

python - 加速 sklearn 逻辑回归

php - 分页数据库查询问题

MySQL 定位每天的第一个和最后一个事件

php - 带 LIMIT 的 Laravel STDDEV

php - 加入时缓慢的学说分页

python - KNeighborsClassifier 欧氏距离计算

Python、Django - ValueError : "<...>" needs to have a value for field "..." before this many-to-many relationship can be used

php - 从数据库创建的动态 ical 不起作用

python - 我如何判断一个值是 Django 模板中的字符串还是列表?