首先,我在stackoverflow和google上查看了doc。我没有找到任何真正帮助我的东西所以我决定发一个问题,如果我想念一个有同样问题的人,我道歉。
这是我的问题,我有一个名为parameters
的df,就像那样:
attribute clause value
0 distinguishedName like (.)*=_FR,DC=HLD, DC=NET
1 Institution_Label == FakeCompanyName Inc.
2 Employee_Type == 1
3 Email not like (.)*.deleted
我使用pandas函数to_excel将其写入xlsx文件。它会创建文件,但它会在xlsx文件中替换==和0,因为我认为它会像excel公式一样检测字符串。你知道是否可以忽略它?
要解决我的问题,我在==之前添加一个'因此excel不会转换它。其作品。现在我的excel文件中的'==而不是0,但我真正想要的是==
有没有人知道更好的方法来忽略公式而不必更改数据框的单元格值?
这是我的代码:
writer = pd.ExcelWriter("Exportations\\DDLCard_"+DDLName+".xlsx")
#replace the == with '==
parameters["clause"] = parameters["clause"].apply(transformParametersClauseToIgnoreExcelFormula)
list_dfs = {}
list_dfs["parameters"] = parameters
#we don't care about those DF
list_dfs["df2"] = df2
list_dfs["df3"] = df2
list_dfs["df4"] = df2
#foreach df, write it on the xlsx file on the sheet named "key"
for key, df in list_dfs.items():
df.to_excel(writer,
sheet_name = key,
encoding = "utf-8",
index = False
)
writer.sheets[key].set_column('A:CO', 25)
writer.save()
def transformParametersClauseToIgnoreExcelFormula(value):
return re.sub(r"==","'==",value)
谢谢!
PS:请原谅我,如果我犯了什么错误,英语不是我的母语