使用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/