Python和双引号excel公式
我都喜欢 我在EXE单元格中插入公式时遇到问题。 我有这本字典Python和双引号excel公式,python,excel,formula,Python,Excel,Formula,我都喜欢 我在EXE单元格中插入公式时遇到问题。 我有这本字典 di_count = {'Vacation Count': '=COUNTIF(E6:NF6;"V")', 'Permit Count': '=AVERAGE(E6:NF6)', } df_empList = pd.DataFrame(di_count) # Loc test df_empList.loc[<index>, <column>] = '=COUN
di_count = {'Vacation Count': '=COUNTIF(E6:NF6;"V")',
'Permit Count': '=AVERAGE(E6:NF6)',
}
df_empList = pd.DataFrame(di_count)
# Loc test
df_empList.loc[<index>, <column>] = '=COUNTIF(E6:NF6;"V")'
writer = pd.ExcelWriter(filename, engine='openpyxl')
writer.book = load_workbook(filename)
df_empList.to_excel(writrer, 'Sheet10', startrow=1, startcol=1, header=False, **to_excel_kwargs)
编辑:我添加了一些信息
有什么建议吗
问候,,
马可
编辑:
这是完整的代码
import pandas as pd
import xlsxwriter
df = pd.DataFrame({"Name": ['A', 'B', 'C', 'D', 'E'],
"Formula": ['=COUNTIF($E2:$G6;"10")', '=AVERAGE($E3:$G3)', '=SUM($E4:$G4)', '=MAX($E4:$G4)', '=MIN($E5:$G5)'],
"Status": ['SUCCESS', 'FAIL', 'SUCCESS', 'FAIL', 'FAIL'],
"Value": [10, 15, 20, 25, 30],
"Value2": [130, 35, 3, 225, 40],
"Value 3": [10, 5, 44, 3000, 120],
})
writer = pd.ExcelWriter('C:\\test\\test.xlsx', engine='xlsxwriter')
df.to_excel(writer, 'TEST', startrow=0, startcol=0)
workbook = writer.book
worksheet = writer.sheets['TEST']
workbook.close()
writer.save()
excel公式除了“=COUNTIF($E2:$G6;“10”)之外,其他所有公式都有效
**我知道在这种情况下,我可以避免双引号,因为它的值是一个数字,但这只是一个例子,我的问题是检查字母数字值**
当我打开文件时,这是一个错误
我发现了问题 这不起作用:
=COUNTIF(E2:G2;“10”)
这项工作=COUNTIF(E2:G2,“10”)
在我的excel版本中,公式在参数之间使用“;”,但在python中我必须使用“,”。
在excel中,公式在任何情况下都以“;”出现,这里有很多缺少的信息。您没有解释Excel应该如何阅读Python词典。您不会解释您正在使用哪些与Excel相关的Python模块(如果有的话)。你在用熊猫吗?您是否正在使用
openpyxl
或中讨论的任何其他模块,例如xlsxriter
或xlrd
?您是否正在尝试使用csv
模块?你也应该看看这个:对不起,你是对的。我使用的是pandas,在使用df之前,我在数据框中转换了我的字典。我尝试使用df.loc df_empList.loc[index,column]='=COUNTIF(E6:NF6;“V”)'设置单元格值,但始终只使用公式,不使用双引号。我已经在我的后请编辑你的代码中添加了一些信息,这样我就可以将它粘贴到一个文件中,而无需添加任何内容来运行它来查看你的问题
import pandas as pd
import xlsxwriter
df = pd.DataFrame({"Name": ['A', 'B', 'C', 'D', 'E'],
"Formula": ['=COUNTIF($E2:$G6;"10")', '=AVERAGE($E3:$G3)', '=SUM($E4:$G4)', '=MAX($E4:$G4)', '=MIN($E5:$G5)'],
"Status": ['SUCCESS', 'FAIL', 'SUCCESS', 'FAIL', 'FAIL'],
"Value": [10, 15, 20, 25, 30],
"Value2": [130, 35, 3, 225, 40],
"Value 3": [10, 5, 44, 3000, 120],
})
writer = pd.ExcelWriter('C:\\test\\test.xlsx', engine='xlsxwriter')
df.to_excel(writer, 'TEST', startrow=0, startcol=0)
workbook = writer.book
worksheet = writer.sheets['TEST']
workbook.close()
writer.save()