我有一个xlsx文件,其中包含各种颜色的列。
我想用pandas在python中只读取这个excel的白色列,但是我没有关于热点的线索。
我能够将完整的excel读入数据框,但后来我错过了有关列着色的信息,我不知道要删除哪些列,哪些不是。
答案 0 :(得分:6)
(免责声明:我是我建议的图书馆的作者之一)
使用StyleFrame(包装pandas),您可以将excel文件读入数据帧而不会丢失样式数据。
考虑以下表格:
以下代码:
from StyleFrame import StyleFrame, utils
sf = StyleFrame.read_excel('test.xlsx', read_style=True)
print(sf)
# b p y
# 0 nan 3 1000.0
# 1 3.0 4 2.0
# 2 4.0 5 42902.72396704039
sf = sf[[col for col in sf.columns
if col.style.fill.fgColor.rgb in ('FFFFFFFF', utils.colors.white)]]
# "white" can be represented as 'FFFFFFFF' or
# '00FFFFFF' (which is what utils.colors.white is set to)
print(sf)
# b
# 0 nan
# 1 3.0
# 2 4.0
答案 1 :(得分:0)
这不能在熊猫中完成。您将需要使用其他库来读取xlsx文件并确定哪些列是白色的。我建议使用xlrd
库。
然后您的脚本将按照以下步骤操作: