【问题标题】:while decode the csv file gives wrong data虽然解码 csv 文件给出了错误的数据
【发布时间】:2018-06-19 11:34:52
【问题描述】:

我想解码一个csv 文件,但它给出了错误的数据..

示例:在csv 文件中我有BP1-R241 在解码文件后它给出BP1+AC0-R241

如果列包含(-,/,\,*,....etc),则添加+AC0

我该如何解决这个问题?

我的代码:

import base64


data = 'Y29kZSxxdWFudGl0eSxsb2NhdGlvbgoxMjM0NTY2NDMsMSxCUDErQUMwLVIyNDEKMTIzNDUsMixCUDErQUMwLVIyNDEKMTIzNDU2LDMsQlAxK0FDMC1SMjQxCnEyMzIzNDM1NDY1Niw0LEJQMStBQzAtUjI0MQpkc2Zkc2YsNSxCUDErQUMwLVIyNDEKMjMzNDU2LDYsQlAxK0FDMC1SMjQxCmRkZnNkZiw3LEJQMStBQzAtUjI0MQozNTQ2NzgsOCxCUDErQUMwLVIyNDEKMTIzNDU2Nyw5LEJQMStBQzAtUjI0MQoyMzQ1NjcsMTAsQlAxK0FDMC1SMjQxCml1NjU0MzIsMTEsQlAxK0FDMC1SMjQxCmpoZ2ZkLDEyLEJQMStBQzAtUjI0MQp4Y3ZmZ2JobiwxMyxCUDErQUMwLVIyNDEKY2ZjZ2hqaywxNCxCUDErQUMwLVIyNDEKc2RmZ2hqLDE1LEJQMStBQzAtUjI0MQphc2RmZ2hqLDE2LEJQMStBQzAtUjI0MQpzYWRmZ2hqaywxNyxCUDErQUMwLVIyNDEKc2RzZHNkc2QsMTgsQlAxK0FDMC1SMjQxCjExMjIzMzQ0LDE5LEJQMStBQzAtUjI0MQoxMTIyMzM0NDIsMjAsQlAxK0FDMC1SMjQxClRFU1QxMjMsMjEsQlAxK0FDMC1SMjQxCg=='



data = base64.b64decode(data).decode('utf-8')

输出:-

code,quantity,location
123456643,1,BP1+AC0-R241

12345,2,BP1+AC0-R241

123456,3,BP1+AC0-R241

q23234354656,4,BP1+AC0-R241

dsfdsf,5,BP1+AC0-R241

233456,6,BP1+AC0-R241

ddfsdf,7,BP1+AC0-R241

354678,8,BP1+AC0-R241

1234567,9,BP1+AC0-R241

234567,10,BP1+AC0-R241

iu65432,11,BP1+AC0-R241

jhgfd,12,BP1+AC0-R241

xcvfgbhn,13,BP1+AC0-R241

cfcghjk,14,BP1+AC0-R241

sdfghj,15,BP1+AC0-R241

asdfghj,16,BP1+AC0-R241

sadfghjk,17,BP1+AC0-R241

sdsdsdsd,18,BP1+AC0-R241

11223344,19,BP1+AC0-R241

112233442,20,BP1+AC0-R241

TEST123,21,BP1+AC0-R241

【问题讨论】:

    标签: python decode encode odoo-11


    【解决方案1】:

    您粘贴的数据只是包含 BP1+AC0-R241,无法绕过它。

    问题不在于解码,而在于您从哪里获取数据。

    谷歌搜索“+AC0”将我带到this thread,即:

    文件中的数据编码为 UTF-7 (http://en.wikipedia.org/wiki/UTF-7),而不是更常见的 ascii/latin-1 或 UTF-8。每个 +ACI- 序列都编码一个双引号字符。

    确定您已将文件导出为 UTF-8,而不是 UTF-7?

    【讨论】:

    • 确实,你打败了我。我以前也见过这个 :) 使用 utf-7,但我建议你也摆脱这些,以免将来以意想不到的方式咬你
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2021-12-17
    • 1970-01-01
    • 2014-01-06
    • 2015-09-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    相关资源
    最近更新 更多