python - 使用 Pandas Dataframe 选择将哪些列从 MySQL 导出到 Excel

标签 python mysql excel pandas

使用mysql.connector,我在python中做了一个MySQL查询,由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()

但是,虽然它为我正确索引了“值”和“内容”,但当我将查询导出到 Excel 文件时,它还会在我的 Excel 文件中显示“tagnumber”和“tagname”列,而我没有显示这些列需要。我只想打印我想在 Excel 工作表中显示的列(即“值”和“内容”)。在这种情况下,如何使用 Pandas sql_read 选择要写入 Excel 文件的列?

最佳答案

如果您不想更改查询,请进行其他更正

        writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
        df.filter(items=['value','content']).to_excel(writer, sheet_name='Sheet1', index = False)
        writer.save()

关于python - 使用 Pandas Dataframe 选择将哪些列从 MySQL 导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50833873/

相关文章:

MySQL:忽略错误(#1054)并且仅设置现有列

vba - 从 A 列复制范围并写入 B 列

excel - 如何在 Excel 中从 Microsoft SSAS 获取维度面包屑

arrays - 在VBA中返回数组的函数

python - 解析文本文件列以根据时间显示数据

python - Python 中通过其他数组排序索引对数组进行排序

php - 如果数据丢失则重定向到页面

mysql - 想要获得 Laravel 时间范围内的结果

python - 如果新值是较晚的日期,则替换字典中的值

Python __iter__ 和 next() 函数