微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python代码未在Excel工作表中写入输出,但能够从同一工作簿中的另一工作表获取输入

如何解决Python代码未在Excel工作表中写入输出,但能够从同一工作簿中的另一工作表获取输入

背景: 我正在从Web上获取符号的期权链,然后将其写入Excel工作表。我在同一工作簿中还有另一个excel工作表,我从中获取输入以运行程序。我正在使用excel 2016完成所有这些工作。

整个程序中的代码示例很长:

import xlwings as xw
excel_file = 'test.xlsx'
wb = xw.Book(excel_file)
wb.save()
# Fetching User input for Script/Ticker else it will be set to NIFTY as default
try:
    Script_Input = pd.read_excel(excel_file,sheet_name = 'Input_Options',usecols = 'C')
    script = Script_Input.iloc[0,0]
except:
    script = 'NIFTY'
# Writing data in the sheet
sht_name = script + '_OC'
    try:
        wb.sheets.add(sht_name)
        print('new sheet added')
        wb.save()
    except:
        pass
        # print('sheet already present')
    # directing pointer towards current sheet to be written
    sheet = wb.sheets(sht_name)
    sheet.range('A4').options(index = False,header = False).value = df
    sheet.range('B1').value = underlying
    sheet.range('C1').value = underlying_Value
    # sheet.range('A3').options(index = False,header = False).value = ce_data_final
    # sheet.range('J3').options(index = False,header = False).value = pe_data_final
    wb.save()

问题:从昨天开始,我能够使用excel 2016打开excel工作簿并更改程序的输入,但是,我没有在工作表中写入任何数据来获取程序输出。该程序可以完美运行,因为我可以在终端上测试输出。另外,一旦删除工作表,就不会创建任何新工作表。 我尝试过的操作:我已经卸载了我拥有的所有其他版本的excel,因此现在仅提供excel 2016。 我已经确保所有相应的文件格式都将excel 2016用作认应用。

还请注意,两天前,我能够在相应的工作表中完美地写入数据,但现在却不能。

任何帮助表示赞赏...

解决方法

对所有试图解决此问题的人表示抱歉。 @buran问到“ df”之后,我查看了我的代码,发现在将“ df”写入工作表之前,我有一个 return语句(我创建了一个单独的函数来在excel中写入数据)。现在,我已将该语句移至正确的位置,代码可以正常工作。非常抱歉,我没有意识到问题出在第一位,并认为它与excel和python有关。现在程序运行完美,我得到了想要的输出。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。