【问题标题】:convert msyql Largebinary output to csv将 msyql Largebinary 输出转换为 csv
【发布时间】:2019-03-10 17:05:32
【问题描述】:

我有一个 MySQL 数据库

class Dataset(db.Model):
    data = db.Column(db.LargeBinary)

我在数据库中保存了一个 CSV,我想检索 CSV 并在 Pandas 中读取。当我将数据作为 SQL 查询检索时,我得到 Byte 数据 我有一个使用烧瓶 sql_alchemy 的数据库,该类如下所示: 类数据集(db.Model): 数据 = db.Column(db.LargeBinary) 在数据库上,我已将 csv 保存为文件, 我想检索 csv 并在 pandas 中读取它:当我查询数据库时: file_data = Dataset.query.get(1) file_data.data 返回字节数据而不是 csv,如下所示:

b'PK\x03\x04\x14\x00\x06\x00\x08\x00\x00\x00!\x00b\xee\x9dh^\x01\x00\x00\x90\x04\x00\x00\x13 \x00\x08\x02[内容类型].xml \xa2\x04\x02(\xa0\x00\x02\x00\x00\x00\x00\x00\x00 我尝试使用通用编码(如 utf-8、latin1 等)将文件转换为字符串。我收到以下错误: “utf-8”编解码器无法解码位置 15-16 中的字节:无效的继续字节

【问题讨论】:

  • 你能解释一下你的代码吗?有点不清楚……

标签: python mysql pandas csv


【解决方案1】:

我实际上解决了它,我只是使用: pd.read_csv(BytesIO(file_data.data))

【讨论】:

  • 我找了将近一天的答案,终于这个简单的答案帮助了我!
猜你喜欢
  • 1970-01-01
  • 2021-05-25
  • 2021-01-01
  • 1970-01-01
  • 2019-05-01
  • 2014-11-26
  • 2012-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多