如何将字节数据转换为 python pandas 数据帧?

新手上路,请多包涵

我想将“字节”数据转换为 Pandas 数据框。

数据看起来像这样(第一行很少):

     (b'#Settlement Date,Settlement Period,CCGT,OIL,COAL,NUCLEAR,WIND,PS,NPSHYD,OCGT'
 b',OTHER,INTFR,INTIRL,INTNED,INTEW,BIOMASS\n2017-01-01,1,7727,0,3815,7404,3'
 b'923,0,944,0,2123,948,296,856,238,\n2017-01-01,2,8338,0,3815,7403,3658,16,'
 b'909,0,2124,998,298,874,288,\n2017-01-01,3,7927,0,3801,7408,3925,0,864,0,2'
 b'122,998,298,816,286,\n2017-01-01,4,6996,0,3803,7407,4393,0,863,0,2122,998'

列标题显示在顶部。随后的每一行都是时间戳和数字。

有没有直接的方法来做到这一点?

非常感谢

@Paula Livingstone:

这似乎有效:

 s=str(bytes_data,'utf-8')

file = open("data.txt","w")

file.write(s)
df=pd.read_csv('data.txt')

也许这可以在不使用中间文件的情况下完成。

原文由 user7188934 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 722
2 个回答

您也可以直接使用 BytesIO

 from io import BytesIO

df = pd.read_csv(BytesIO(bytes_data))

这将为您节省将 bytes_data 转换为字符串的步骤

原文由 KenHBS 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进