Errno 30只读文件系统:“default.xlsx”

2024-04-20 06:09:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正试图将数据库查询结果以Excel表格的形式发送到邮件中。当我在本地执行此操作时,它可以正常工作,我甚至可以将查询结果作为Excel附件获取邮件,但是在部署并通过Lambda触发后,我会出现以下错误

[Errno 30] Read-only file system: 'default.xlsx'

这是我的密码

def write_to_default_ws_row_col(self,reports):
    wb = Workbook(write_only=True)
    report_ws = wb.create_sheet("Reports")
    # write header
    report_ws.append(["File Name", "CSG Sent Count", "Rject Count", "CSG Process Count", "File CSG Mailitem Count", "File Status", "File Create Date"])

    # write data
    for report in reports:
        report_FILE_NAME = report[0]
        report_FILE_ITEM_COUNT = report[1]
        report_REJECT_COUNT = report[2]
        report_HSDC_TOTDOC = report[3]
        report_FILE_CSG_MAILITEM_COUNT = report[4]
        report_FILE_STATUS = report[5]
        report_FILE_CREATE_DATE = report[6]
        report_ws.append([report_FILE_NAME, report_FILE_ITEM_COUNT, report_REJECT_COUNT, report_HSDC_TOTDOC, report_FILE_CSG_MAILITEM_COUNT, report_FILE_STATUS, report_FILE_CREATE_DATE])


    wb.save('tmp/default.xlsx')

Tags: reportdefaultonlywscount邮件xlsxexcel
1条回答
网友
1楼 · 发布于 2024-04-20 06:09:58

修正码 ''' def get_day1_报告(连接): cursor=connection.cursor() query=“选择文件名、文件项数作为发送对象、拒绝项数、HSDC TOTDOC作为过程项数、文件项数、文件状态、文件项创建日期作为跟踪对象,其中datediff(curdate()、子字符串(文件名,30,8))=2” cursor.execute(查询) data=cursor.fetchall() 返回数据

类电子邮件报告(): definit(自身,设置): self.sender=settings.fromEmail self.recipient=settings.toEmail self.aws_region=settings.region self.charset=“UTF-8” context_opts=dict() self.logger=HSLogger(名称,**上下文选项)

def write_to_default_ws_row_col(self,reports):
    os.chdir('/tmp')
    wb = Workbook(write_only=True)
    report_ws = wb.create_sheet("Reports")
    # write header
    report_ws.append(["File Name", "CSG Sent Count", "Rject Count", "CSG Process Count", "File CSG Mailitem Count", "File Status", "File Create Date"])

    # write data
    for report in reports:
        report_FILE_NAME = report[0]
        report_FILE_ITEM_COUNT = report[1]
        report_REJECT_COUNT = report[2]
        report_HSDC_TOTDOC = report[3]
        report_FILE_CSG_MAILITEM_COUNT = report[4]
        report_FILE_STATUS = report[5]
        report_FILE_CREATE_DATE = report[6]
        report_ws.append([report_FILE_NAME, report_FILE_ITEM_COUNT, report_REJECT_COUNT, report_HSDC_TOTDOC, report_FILE_CSG_MAILITEM_COUNT, report_FILE_STATUS, report_FILE_CREATE_DATE])

    # abspath = os.path.abspath(__file__)
    # logger.info('abspath %s.', abspath)
    # dname = os.path.dirname(abspath)
    # logger.info('dname %s.', dname)
    # os.chdir(dname)
    # dirpath = os.getcwd()
    # logger.info('current dir %s.', dirpath)
    # contents = os.listdir("/tmp")
    # logger.info('before save %s.', contents)
    wb.save(filename = 'day1_reports.xlsx')

'''

相关问题 更多 >