从Excel工作表中获取数据

时间:2009-11-17 09:07:52

标签: python django excel postgresql

如何将Excel工作表中的数据加载到我的Django应用程序中?我正在使用数据库PosgreSQL作为数据库。

我想以编程方式执行此操作。客户希望每周在网站上加载两个不同的列表,他们不希望在管理部分中执行此操作,他们只想从Excel工作表中加载列表。请帮忙,因为我在这里有点新鲜。

9 个答案:

答案 0 :(得分:6)

查看xlrd包,它允许您在Py​​thon中读取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扩展名)并使用

导入Postgresql
copy 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。