我有一个从 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/