Выбор столбцов для экспорта из MySQL в Excel с использованием Pandas Dataframe - PullRequest
0 голосов
/ 13 июня 2018

Используя mysql.connector, я сделал MySQL-запрос на python, который читается pd.read_sql_query, код выглядит следующим образом:

import pandas as pd
import mysql.connector
db_con= mysql.connector(user=..., pass=..., host:..., database='db')
query= ("""SELECT tagnumber,value,content,tagname 
            FROM db.table
            WHERE tagnumber>=%d AND tagname='XXX' AND content!="";""" % (2))

df=pd.read_sql_query(query,db_con,index_col=['value','content'])
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()

Однако, хотя он правильно индексирует 'значение' и«content» для меня, когда я экспортирую запрос в файл Excel, он также покажет столбцы «tagnumber» и «tagname» в моем файле Excel, которые мне не нужны.Я только хочу напечатать столбцы, которые я хочу показать в листе Excel (которые являются 'value и' content ').Как выбрать столбец (столбцы) для записи в файл Excel, используя Pandas sql_read в этом случае?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Напишите SQL-запрос следующим образом:

query= ("""SELECT value,content
            FROM db.table
            WHERE tagnumber>=%d AND tagname='XXX' AND content!="";""" % (2))
0 голосов
/ 13 июня 2018

другое исправление, если вы не хотите менять свой запрос

        writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
        df.filter(items=['value','content']).to_excel(writer, sheet_name='Sheet1', index = False)
        writer.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...