Python 用行号和列号而不是单元格地址编写Excel公式
我目前拥有以下代码:Python 用行号和列号而不是单元格地址编写Excel公式,python,excel,pandas,xlsxwriter,Python,Excel,Pandas,Xlsxwriter,我目前拥有以下代码: revenue_stats_feb = pd.DataFrame({'February' :['=D7/D40','=D7/D39','=D7/D37','=D7/D11','=D8/D7', '=D10/D8'], 'merge': [1,2,3,4,5,6]}) revenue_stats_feb = revenue_stats_feb[['February', 'merge']] 我想知道是
revenue_stats_feb = pd.DataFrame({'February' :['=D7/D40','=D7/D39','=D7/D37','=D7/D11','=D8/D7', '=D10/D8'],
'merge': [1,2,3,4,5,6]})
revenue_stats_feb = revenue_stats_feb[['February', 'merge']]
我想知道是否可以使用行号和列号而不是单元格地址来编写公式,即“=D7/D40”将是“=(3,6)/(3,39)”,但当它导出到excel时,它的计算方式仍然是D7/D40
提前感谢您的帮助。一种方法是使用XlsxWriter提供的函数将
(行、列)
值转换为字符串:
from xlsxwriter.utility import xl_rowcol_to_cell
formula = '=%s/%s' % (xl_rowcol_to_cell(6, 3),
xl_rowcol_to_cell(39, 3))
print(formula) # =D7/D40
有关更多详细信息,请参阅XlsxWriter文档部分。一种方法是使用XlsxWriter提供的函数将
(行、列)
值转换为字符串:
from xlsxwriter.utility import xl_rowcol_to_cell
formula = '=%s/%s' % (xl_rowcol_to_cell(6, 3),
xl_rowcol_to_cell(39, 3))
print(formula) # =D7/D40
有关更多详细信息,请参阅XlsxWriter文档部分。Excel需要D7/D40,为什么要这样做?因为根据月份的不同,D40可能会更改为D39或D41等,因此我想尝试通过使用len(def.index)分配应为除数的行来实现自动化。您可以使用R1C1(行、列)指定与间接函数组合的单元格值的格式。在计算中,“=间接(“R3C2”,0)”获取单元格B3的值。在Excel中应该类似。或者是细胞的功能?我的Excel技能有点生疏。@b2002这是一个好主意,它正适合我的需要。我现在使用的代码看起来是这样的“=C7/INDIRECT(“R{}C3”,0)”.format((len(output_df.index)+3+len(practice_locations.index)))Excel需要D7/D40,为什么要这样做呢?因为根据月份的不同,D40可能会变为D39或D41等,所以我想尝试使用len(def.index)实现自动化指定应作为除数的行。您可以使用R1C1(行、列)格式指定与间接函数组合的单元格值。在计算中,“=间接(“R3C2”,0)”获取单元格B3的值。在Excel中应该类似。或者是细胞的功能?我的Excel技能有点生疏。@b2002这是一个好主意,它正适合我的需要。我现在使用的代码看起来像这样'=C7/INDIRECT(“R{}C3”,0)'.format((len(output_df.index)+3+len(practice_locations.index)))