我已经从sql服务器信息导出了大量的报告 . excel列是ReportPath,DataSourceName,DataSetName和Command Text .
接下来,我创建了一个python脚本,它在pandas数据帧中转换xls,并在数据帧的Command Command Text列中查找某些单词 . 码:
import pandas as pd
FILE = 'C:\\Users\filepath\filename.xlsx'
def xls_to_df(csvfile):
df = pd.read_excel(csvfile,names =['ReportPath','DataSourceName','DataSetName','Command Text'])
table = "Customer"
flt = df[df['Command Text'].str.contains(table,na=False)]
return flt
res = xls_to_df(FILE)
print(res)
我想要实现的是扫描包含sql查询的'Command Text'列,找到某些关键字并使用颜色,粗体或任何可能的颜色突出显示它们 .
我认为这里并不需要大熊猫,所以也许我的努力并不是真正相关的 . 理想情况下,脚本只会遍历列,将字体更改为关键字并保存文件 .
1 回答
当您将excel读入Pandas时,您只能操纵文本 . 不幸的是,excel不支持富文本格式(粗体,斜体,颜色等)作为函数 . 因此,如果您要将数据导入python只是为了突出显示具有该字符串的单元格,您可以在Excel中执行此操作:https://www.extendoffice.com/documents/excel/4584-excel-conditional-formatting-if-cell-contains-partial-text.html