【发布时间】:2023-04-05 00:59:02
【问题描述】:
我是这个论坛的新手,如果问题格式不是很好,请原谅。
我正在尝试从 mysql 中的数据库表中获取行并在处理 cols 后打印相同的行(其中一个 cols 包含需要扩展的 json)。以下是源和预期输出。如果有人能提出一种更简单的方法来管理这些数据,那就太好了。
注意:我已经通过大量循环和解析实现了这一点,但挑战是。
1) col_names 和 data 之间没有联系,因此当我打印数据时,我不知道结果集中数据的顺序,所以我打印的 col 标题和数据不匹配,任何方法保持同步?
2) 我希望能够灵活地更改列的顺序而无需太多返工。
实现这一目标的最佳方法是什么。没有探索过 pandas 库,因为我不确定它是否真的有必要。
使用 python 3.6
表格中的样本数据
id, student_name, personal_details, university
1, Sam, {"age":"25","DOL":"2015","Address":{"country":"Poland","city":"Warsaw"},"DegreeStatus":"Granted"},UAW
2, Michael, {"age":"24","DOL":"2016","Address":{"country":"Poland","city":"Toruń"},"DegreeStatus":"Granted"},NCU
我正在使用 MySQLdb.connect 对象查询数据库,步骤如下
query = "select * from student_details"
cur.execute(query)
res = cur.fetchall() # get a collection of tuples
db_fields = [z[0] for z in cur.description] # generate list of col_names
变量中的数据:
>>>db_fields
['id', 'student_name', 'personal_details', 'university']
>>>res
((1, 'Sam', '{"age":"25","DOL":"2015","Address":{"country":"Poland","city":"Warsaw"},"DegreeStatus":"Granted"}','UAW'),
(2, 'Michael', '{"age":"24","DOL":"2016","Address":{"country":"Poland","city":"Toruń"},"DegreeStatus":"Granted"}','NCU'))
期望的输出:
id, student_name, age, DOL, country, city, DegreeStatus, University
1, 'Sam', 25, 2015, 'Poland', 'Warsaw', 'Granted', 'UAW'
2, 'Michael', 24, 2016, 'Poland', 'Toruń', 'Granted', 'NCU'
【问题讨论】:
标签:
python
python-3.x
mysql-python
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在python 3中处理mysql结果 - Python技术站