使用 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 (将#修改为@)