sap character set idsap 导出 txt 时有乱码 如何解决

151 篇文章 4 订阅
47 篇文章 3 订阅

在这里插入图片描述
在这里插入图片描述
繁体中文 8300

utf-8 4110

参考
https://wiki.scn.sap.com/wiki/display/ABAP/Character+encoding+conversion

def txt_to_xlsx(txt_path):
    line_list = []
    with open(txt_path, 'r',  encoding='windows-1252') as f:
        lines = f.readlines()
        for line in lines:
            sep = re.findall(r'\|', line)
            if len(sep) > 3:
                line= line.lstrip('|')
                # print(line)
                line_list.append(line)

    with open(txt_path, "w", encoding='windows-1252') as f:
        f.writelines(line_list)

    xlsx_path = txt_path.replace('.txt', '.xlsx')
    # if os.path.exists(xlsx_path):
    #     return
    # if not txt_path.endswith('.txt'):
    #     return
    xlApp = win32com.client.DispatchEx("Excel.Application")
    xlApp.Visible = True
    xlApp.DisplayAlerts = 0
    # print(txt_path)

    wb = xlApp.Workbooks.OpenText(Filename=txt_path,
                                  Origin=950,  # 指定的编码,繁体中文是950
                                  StartRow=1,
                                  DataType=1,
                                  TextQualifier=1,
                                  ConsecutiveDelimiter=False,
                                  Tab=True,
                                  Semicolon=False,
                                  Comma=False,
                                  Space=False,
                                  Other=True,
                                  OtherChar="|",
                                  FieldInfo=[1,1],
                                  TrailingMinusNumbers=True,

                                  )
    # wb.Close(True)
    xlApp.ActiveWorkbook.SaveAs(Filename=xlsx_path, FileFormat=51)
    # wb.close()
    xlApp.Quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值