我想导出没有“b”的csv文件

toe95027  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(252)

我想在mysql表中导出csv文件
我的代码是:

import csv
import MySQLdb

       def importcsv():
            mydb = MySQLdb.connect(host='localhost', user='me', passwd='1234', db='Data1', use_unicode=0, charset='utf8')
            cursor = mydb.cursor()
            csv_data = csv.reader(open('input.csv', newline='', encoding='utf8'))
            for row in csv_data:
                cursor.execute('INSERT INTO sensor(Date, Time, Data)' 'VALUES("%s", "%s", "%s")', row)
            mydb.commit()
            cursor.close()
            print ("CSV has been imported into the database")

       def exportcsv():
           mydb = MySQLdb.connect(host='localhost', user='me', passwd='1234', db='Data1', use_unicode=0, charset='utf8')
           cursor = mydb.cursor()
           cursor.execute("SELECT * FROM sensor")

           with open('out.csv', 'w', newline='', encoding='utf-8') as csv_file:
                    csv_writer = csv.writer(csv_file, delimiter=';')
                    csv_writer.writerow([ i[0] for i in cursor.description ]) 
                    csv_writer.writerows(cursor.fetchall())
                mydb.commit()
                cursor.close()
                print ("CSV has been exported into the database")

它工作,但out.csv的数据是
日期/时间/数据(标题)
b“'数据值'”/b“'时间值'”/b“'数据值'”
b“'数据值'”/b“'时间值'”/b“'数据值'”
如何导出csv文件
日期/时间/数据(标题)
日期值/时间值/数据值
日期值/时间值/数据值
input.csv的内容是
日期时间数据(标题)
2017/01/01 12:00 1
2017/01/02 13:00 2

htrmnn0y

htrmnn0y1#

实际上,您试图从mysql中获取的数据是字节字符串格式的,您必须将其解码为字符串格式才能去掉b,您可以尝试这样的方法。 b"your bytecode string".decode()

相关问题