应用python导出mysql数据为csv文件
python3.7
pymysql

from pyecharts import Pieimport pymysqlimport csvimport timeclass View:    def __init__(self):        # 数据库配置        self.host = 'localhost'        self.database = '西方财产'        self.table = '上证指数2019_2'        self.user = 'root'        self.password = 'yjcyjc'        self.port = 3306        # csv贮存        self.path = '.'        self.inputfilename = 'input.csv'        self.csvfilename = 'datas.csv'        self.logfilename = 'run.log'            def run(self):        strat = time.time()        rows=self.get_input()        print(len(rows))        with open('{}/{}'.format(self.path, self.csvfilename), 'a', encoding='utf_8_sig', newline='') as csvfile:            writer = csv.writer(csvfile)            writer.writerows(rows)        # for row in rows:        #     self.save_data(row)        end = time.time()        self.runtime = end - strat    def get_input(self):        # 关上数据库连贯        db = pymysql.connect(self.host, self.user, self.password, self.database, self.port)        # 应用 cursor() 办法创立一个游标对象 cursor        cursor = db.cursor()        # 应用 execute()  办法执行 SQL 查问        cursor.execute("SELECT list_url,url, name,post_time,content from {}".format(self.table))        # 应用 fetchone() 办法获取单条数据.        results = cursor.fetchall()        # 敞开数据库连贯        db.close()        return results    def save_data(self, item):        '''        保留文件        '''        print('-', end='')        with open('{}/{}'.format(self.path, self.csvfilename), 'a', encoding='utf_8_sig', newline='') as csvfile:            writer = csv.writer(csvfile)            writer.writerow(item)    @property    def time(self):        return '总共用时:{}秒'.format(self.runtime)if __name__ == '__main__':    view = View()  # 实例化对象    view.run()    print(view.time)