从Excel表格中获取数据

3

我该如何将Excel表格中的数据加载到我的Django应用程序中?我的数据库使用PostgreSQL。

我想以编程方式完成这个任务。客户每周都希望将两个不同的列表加载到网站上,他们不想在管理部分进行操作,只是希望从Excel表格中加载列表。由于我有些新手,请帮忙解决这个问题。

9个回答

6

xlrd 能读取公式吗?http://www.lexicon.net/sjmachin/xlrd.htm 表示不能。https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html 则表示可以。 - Craig McQueen
我从未尝试过,所以我不知道。但如果您尝试了,请发布您的发现 :-) - Pär Wieslander
阅读 xlrd 0.7.1 的源代码,其中有一些用于解析公式的代码。但默认情况下它是禁用的。而且它是实验性/不完整的——例如,它无法处理我在Excel文件中拥有的数组公式。 - Craig McQueen

3
使用django-batchimporthttp://code.google.com/p/django-batchimport/。它提供了一种非常简单的方法,可以将Excel表格中的数据上传到您的Django模型中。我已经在几个项目中使用过它,它可以很容易地集成到您现有的Django项目中。
请阅读项目页面上的文档以了解如何使用它。
它是基于XLRD构建的。

+1 这是一个很棒的选择,因为他们已经编写了一些适用于 XLRD(一个很棒的包)中的怪癖的代码。 - Van Gale
2
xlrd 中需要“编码”的怪癖是什么? - John Machin
django-batchimport遗憾地被放弃了。虽然代码进行了重大更新,但文档从未进行过修改(除了在顶部添加一条注释,表示文档已不再相关),项目的最后一次提交是在2009年。 - Brandon Rhodes
我在主要更新之前分叉了代码(更新后的代码非常特定于一个用例,即学校,至少对于模板而言),并且自从我将其作为另一个项目的依赖项以来一直保持更新。请参阅我的Git存储库 - pistache

2

0
程序化还是手动?如果是手动的话,只需将Excel另存为CSV格式(带有csv或txt扩展名),然后使用PostgreSQL导入即可。
copy the_data from '/path/to/csv/MYFILE.txt' DELIMITERS ',' CSV;

以编程方式,客户希望每周将两个不同的列表加载到网站上,他们不想在管理部分进行操作,只想从 Excel 表格中加载列表。请帮忙,因为我在这里还比较新。 - user167139
刚接触Python/DB/Excel或SO。请根据上面的评论重新格式化您的问题。 - whatnick

0
我在xlrd的基础上构建了django-batchimport,它非常棒。我遇到的唯一问题是如何将数据导入Django,而不是与xlrd的任何限制有关。它很出色。John的工作令人难以置信。
请注意,我实际上对django-batchimport进行了一些更新工作,并刚刚发布了。看一下:http://code.google.com/p/django-batchimport/

0

0

0

-1

刚开始使用XLRD,它看起来非常容易和简单。

请注意,它还不支持Excel 2007,因此请记得将您的Excel保存为2003格式。


我不知道是谁降级了它,也不知道为什么。我认为(假设这仍然是事实..)提到Excel版本的限制并避免其他人自己去发现这一点是很重要的。 - OritK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接