python - 使用python格式化MySQL数据

标签 python mysql

我有一个从 MySQL 数据库读取数据并将数据拉入列表的文件,如下所示:

[(十进制('3.6813'),), (十进制('3.6816'),), (十进制('3.6804'),), (十进制('3.6794'),), (十进制('3.6789') ),), (十进制('3.6791'),)]

有没有办法可以只提取数字而不是小数部分,使其采用格式 [3.6813,3.6816,3.6816,3.6816] 或将其转换为该格式的方法?

从数据库读取的.sql文件是:

SELECT calc_star_rating
FROM GBAndroidRating2015
WHERE country=%s
AND report_date>'20141231'
AND report_date<'20150201'
AND platform='Android'
AND version='all';

使用此代码的 .py 文件是:

import utildb

def main():

#set config
local_db_cnf='./config/mysql_connect.json'
sql_get_ratings='./config/get_ratings_local_db.sql'

#get latest date from local database for user agg data
ratings_data=utildb._get_data_local_db(sql_get_ratings,['GB'],utildb._create_cnx_json_local_db(local_db_cnf,'appstore'))
print ratings_data
return

if '__main__' == __name__:
main()

最佳答案

将 mysql 数据存储在变量中后,可以使用以下方法将其转换为浮点格式:

from decimal import *

ratings_data = [(Decimal('3.6813'),), (Decimal('3.6816'),), 
                (Decimal('3.6804'),), (Decimal('3.6794'),),
                (Decimal('3.6789'),), (Decimal('3.6791'),)]

adjusted = [float(i[0]) for i in ratings_data]  # The important line

其中调整是:

[3.6813, 3.6816, 3.6804, 3.6794, 3.6789, 3.6791]

关于python - 使用python格式化MySQL数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156301/

相关文章:

python - 如何使用正确的转义将字节字符串转换为字符?

python - numpy 外部的用户定义函数

mysql - 您好,任何人都可以帮我在联接而不是子查询中编写此查询吗?

python - Python 中有写入 MySQL 数据库的权限吗?

Python:使用 Spacy 等对名词短语(例如介词)进行分块

Python3 SQLAlchemy 删除重复项

Python - 如果用户试图在中途停止执行,有没有办法优雅地清理函数?

mysql - 比较具有相同 ID 的行的日期时间,只返回日期时间差小于 4 小时的列

php txt 文件转成 sql

php - 我只想用 PHP 更新一个 MySQL 行