如何有效地从mysql写入和读取数值(浮点数,numpy)数组?

时间:2019-06-28 19:15:29

标签: python mysql

为了保留一些数据,我使用mysql作为数据库。我需要存储浮点数的数组,但我没有设法正确处理它,所以我决定将它们存储为字符串,以为一旦我从数据库中读取它们,我就将它们恢复为浮点数数组。

因此,有两个问题: 1.有没有更好的方法来存储这些? 2.如何转换字符串数组,例如:

Outp = '[0.0, 0.22532551050405566, 0.32132351221384514, 8.329281012428868e-18, 0.012183960426492089, 0.14915942181052608, 0.0, 0.2920075950450811]'

我尝试使用numpy对象,列表和浮点数进行多种操作。没有成功,他们似乎都将变量作为单个项而不是列表来解决。

寻找一种好方法,既可以将其从数据库中读取时以浮动方式保存到数据库中,又可以将其转换为浮动方式。

1 个答案:

答案 0 :(得分:0)

您可以使用ast.literal_eval()

import { Component } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})

export class AppComponent {
  title = 'my-tool';
  user = { id : 1, name : "Hello"};

  getData() {
    this.http.get('http://localhost:1025/temp/route1', JSON.stringify(this.user), {})
    .subscribe(data => {
      console.log(data);
    });
  }
}

但是,最好规范化您的表模式,因为用逗号分隔的列表很难在数据库中使用。参见Is storing a delimited list in a database column really that bad?