создать файл cvs на основе результатов, извлекаемых из MySql (windows)

0

У меня есть следующий код для создания файла cvs на основе результатов, полученных из MySql:

import MySQLdb as dbapi
import sys
import csv
dbServer='127.0.0.1'
dbPass='Mydatabases#0'
dbSchema='myblog'
dbUser='root'
dbQuery="SELECT link,repo_name,dataset_id,title,(Select(replace(REPLACE(description, '\r', ''),'\\',''))) FROM myblog.testseprator INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/readSQL/annotation.csv' FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' ";
db=dbapi.connect(host=dbServer,user=dbUser,passwd=dbPass)
cur=db.cursor()
cur.execute(dbQuery)
# result=cur.fetchall()
db.close();

Но когда я проверяю файл, все это испортилось! Я вижу несколько /N, содержимое поля находится в другом поле! Как я могу это исправить?

  • 0
    Рассматривали ли вы использовать Python для записи CSV после сохранения результатов в переменной? По моему опыту, любая библиотека sql в python имеет меньшую функциональность, чем настольный графический интерфейс, и поэтому я обычно просто использую их для получения данных. Оттуда, запись в CSV в Python является бризом
  • 0
    @bjpreisler, как вы можете видеть в коде, результаты сохраняются в C: / ProgramData / MySQL / MySQL Server 5.7 / Uploads / readSQL / annotation.csv
Показать ещё 2 комментария
Теги:
python-3.x

1 ответ

0

Вместо сохранения файла на локальный диск сохраните его в переменной

result = cur.fetchall()

Оттуда приступайте к использованию библиотеки записи csv, такой как xlsxwriter или csv

import xlsxwriter

И следуйте примерам и документации в Интернете, как писать то, что вы хотите, и сохранять как csv в определенном месте на вашем компьютере

http://xlsxwriter.readthedocs.io/example_demo.html

https://pymotw.com/2/csv/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню