【发布时间】:2017-04-26 10:44:37
【问题描述】:
我正在尝试使用 python 3.x 将 mysql 数据导入 .txt 文件,但看起来我遗漏了一些东西。期望数据应该以表格/列格式导入到文件中。我已尽我最大的努力获得解决方案,但我没有得到我需要的东西。
下面是我的代码:
import pymysql.cursors
import pymysql
import sys
import os
# Connect to the database
connection = pymysql.connect(host='localhost',
user='root',
password="",
db='jmeterdb',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Select all records
sql = "select * from emp"
cursor.execute(sql)
# connection is not autocommit by default. So you must commit to save
# your changes.
result = cursor.fetchall()
newfile = open("db-data.txt","a+")
for row in result:
newfile.writelines(row)
print(result)
newfile.close()
finally:
connection.close()
在执行print(result) 时,在终端python 向我显示数据,但在db-data.txt 文件中,它仅显示列名。
预期结果:
Column_Name1 Column_Name2 Column_Name3
data1 data2 data3
data1 data2 data3
【问题讨论】:
-
writelines()假设有一个行数组,你必须使用write(row + "\n") -
见 stackoverflow.com/questions/12377473/… 使用 write 而不是 writelines。
-
我刚刚使用这段代码得到了表结构:
for row in result: newfile.write("\t".join(row))但没有来自 sql 的数据。
标签: python mysql python-3.x