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

使用 gcsfs 下载 csv - 如何从字节转换为字符串?

如何解决使用 gcsfs 下载 csv - 如何从字节转换为字符串?

我有以下代码试图下载 csv

fs = gcsfs.GCSFileSystem(project='<project ID>',token='<path to service account json>')
    
with fs.open('gs://some_path_to_csv') as f:
            stability_data = pd.read_csv(f,delimiter=',',encoding='UTF-16 LE')
            return stability_data

代码在 Mac 上运行良好,但在 Windows 上不起作用。在 Windows 上,我得到以下数据:

    ÿþD  Unnamed: 1  Unnamed: 2  Unnamed: 3
0  NaN         NaN         NaN         NaN
1  NaN         NaN         NaN         NaN
2  NaN         NaN         NaN         NaN
   ÿþD  Unnamed: 1  Unnamed: 2  Unnamed: 3
0  NaN         NaN         NaN         NaN
1  NaN         NaN         NaN         NaN
2  NaN         NaN         NaN         NaN

看起来像从字节到字符串的编码或转换问题。但是我还是没弄明白是什么问题。请帮忙。谢谢!

更新: 问题似乎出在 Python 3.x 而不是 Windows/Mac。如果我使用 Python 2.7 代码运行,但如果我使用 Python 3.7 它会失败并显示以下错误

UnicodeDecodeError: 'utf-16-le' 编解码器无法解码位置 0 的字节 0x74:截断数据

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