如何将Excel工作表中的数据加载到我的Django应用程序中?我正在使用数据库PosgreSQL作为数据库。
我想以编程方式执行此操作。客户希望每周在网站上加载两个不同的列表,他们不希望在管理部分中执行此操作,他们只想从Excel工作表中加载列表。请帮忙,因为我在这里有点新鲜。
答案 0 :(得分:6)
查看xlrd包,它允许您在Python中读取Excel文件。一旦你读完了数据,就可以用它做任何你想做的事情,包括将它保存到数据库中。
有关基本用法示例,请查看http://scienceoss.com/read-excel-files-from-python/
答案 1 :(得分:3)
使用django-batchimport http://code.google.com/p/django-batchimport/它提供了一种将Excel表格中的数据上传到Django模型的简单方法。我在几个项目中使用过它。它可以很容易地集成到您现有的Django项目中。
阅读项目页面上的文档,了解如何使用它。
它建立在XLRD上。
答案 2 :(得分:2)
看看Chris Withers在PyCon US上发表的“Excel& Python”演示文稿:
“此闪电讲话说明您不需要使用COM或在Windows上读取和写入本机Excel文件。”
http://www.simplistix.co.uk/presentations/python_excel_09/excel-lightning.pdf
答案 3 :(得分:0)
以编程方式还是手动方式?如果手动,那么只需将excel保存为CSV(使用csv或txt扩展名)并使用
导入Postgresqlcopy the_data from '/path/to/csv/MYFILE.txt' DELIMITERS ',' CSV;
答案 4 :(得分:0)
我记得这一点。 最好的方法是将此工作表保存为纯文本(CSV或其他) 然后加载一些自定义SQL脚本。 http://www.postgresql.org/docs/8.3/static/populate.html
答案 5 :(得分:0)
或者看看SQLAlchemy,如果你打算编写某种脚本来帮助你。(http://www.sqlalchemy.org/)
答案 6 :(得分:0)
如果要使用COM连接excel(即在Windows计算机上运行),请参阅“将Excel数据迁移到SQLite” - http://www.saltycrane.com/blog/2007/11/migrating-excel-to-sqlite-using-python/
答案 7 :(得分:0)
我在xlrd之上构建了django-batchimport,这是令人惊叹的。我遇到的唯一问题是将数据导入Django。与xlrd的任何限制无关。它摇滚。约翰的工作令人难以置信。
请注意,我实际上已经对django-batchimport进行了一些更新工作,并刚刚发布。看看:http://code.google.com/p/django-batchimport/
答案 8 :(得分:-1)
刚开始使用XLRD,它看起来非常简单易用。
请注意它还不支持Excel 2007,因此请记住以2003格式保存您的Excel。