如何在Debian上将MYSQLdb表导出为CSV?
问题描述:
我想将MYSQLdb表格导出为.csv格式。如何在Debian上将MYSQLdb表导出为CSV?
我尝试这样做:
connection = MySQLdb.connect(host='localhost',
user='***',
passwd='***',
db='database1',
use_unicode=True,
charset="utf8")
cursor = connection.cursor()
query = """ select *
from example_table1
into outfile 'MYFOLDER'
fields terminated by ';'
enclosed by '"'
lines terminated by '';
"""
cursor.execute(query)
connection.commit()
cursor.close()
我收到此错误信息:
Traceback (most recent call last):
File "mysql_export_to_csv.py", line 46, in <module>
cursor.execute(query)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 226, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorvalue
_mysql_exceptions.InternalError: (1, 'Can\'t create/write to file \'/usr/src/Python-2.7.13/output.csv\' (Errcode: 30 "Read-only file system")')
什么是这个代码的问题?为什么我无法将其导出到.csv?
答
我建议尝试保存在一个目录,你一定有写权限一样的/ tmp/
像这样:
connection = MySQLdb.connect(host='localhost',
user='***',
passwd='***',
db='database1',
use_unicode=True,
charset="utf8")
cursor = connection.cursor()
query = """ select *
from example_table1
into outfile '/tmp/myfile.csv'
fields terminated by ';'
enclosed by '"'
lines terminated by '';
你能不能尽量节省您有写的权限?像/ tmp/ – Marco
谢谢@Marco,它正在工作! :) – Harley
你也可以标记一个“加”的评论,当你发现它们有用:-) – Marco