【发布时间】:2022-01-15 06:04:20
【问题描述】:
我用 pandas 数据框填充了一个 Django 模型。
为了做到这一点,我使用了to_dict() 函数,以便JSONField() Django 模型接受数据。
这很好用。现在我要做的是用这些数据更新一个 excel 文件。
所以我正在访问 Django 模型中的数据并尝试使用 openpyxl 用新的数据数据填充 excel。
但是我遇到了问题,因为我收到错误消息说它无法转换为 excel。
这里面还有吗?
我的模特:
class myvalues(models.Model):
items_list = models.JSONField()
试图填充 excel 的函数:
values_to_go_into_excel_obtained_from_model = myvalues.objects.values_list(“items_list”, flat=True)
path = file_for_download.my_file.path
wb = load_workbook(path)
ws = wb["Sheet1"]
pd.read_excel(path, engine='openpyxl', sheet_name="Sheet1")
for row, v in enumerate(values_to_go_into_excel_obtained_from_model, 2):
ws.cell(row, 4, v)
wb.save(path)
任何想法为什么我收到错误?基本上我想做的是:
Step 1: pandas df -> Django model of type Json
Step 2: Access Django model values
Step 3: put values from Django model into excel file
我有第 1 步和第 2 步,但无法进行第 3 步。
【问题讨论】:
-
你的问题不是很清楚。不确定
models.JSONField()它应该像jsonfield.JSONField()似乎你试图手动放置部分代码。此外,load_workbook和其余代码表明您正在尝试通过添加一个新单元格来更新 Excel。请分享您遇到的错误的快照以及您的myvalues模型的一些示例数据。 -
您遇到的错误是什么?
-
请分享示例数据和预期输出。错误在哪一行?
标签: python python-3.x django django-models openpyxl