问题标签 [xlrd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
13569 浏览

python - 如何使用 xlrd 将 Excel 文件读入 Python?它可以读取较新的 Office 格式吗?

我的问题在下面,但是任何有 xlrd 经验的人都会感兴趣的评论。

我刚刚找到 xlrd,它看起来像是完美的解决方案,但我在开始时遇到了一点问题。我正在尝试以编程方式从我从道琼斯提取的 Excel 文件中提取数据,其中包含道琼斯工业平均指数的当前成分(链接:http ://www.djindexes.com/mdsidx/?event=showAverages )

当我打开未修改的文件时,出现令人讨厌的 BIFF 错误(无法识别二进制格式)

但是,您可以在此屏幕截图中看到 Excel 2008 for Mac 认为它是“Excel 1997-2004”格式(屏幕截图:http ://skitch.com/alok/ssa3/componentreport-dji.xls-properties )

如果我改为手动在 Excel 中打开它并明确保存为“Excel 1997-2004”格式,然后在 python usig xlrd 中打开,一切都很好。请记住,Office 认为该文件已经是“Excel 1997-2004”格式。所有文件都是 .xls

这是复制问题的 ipython 会话的 pastebin:http: //pastie.textmate.org/private/jbawdtrvlrruh88mzueqdq

任何想法:如何欺骗 xlrd 识别文件以便我可以提取数据?如何使用 python 将显式“另存为”格式自动化为 xlrd 将接受的格式?B计划?

0 投票
4 回答
7829 浏览

python - pyExcelerator 或 xlrd - 如何为给定的几列数据查找/搜索一行?

Python 与 EXCEL 通信......我需要找到一种方法,以便我可以找到/搜索给定列数据的行。现在,我一一扫描整行...如果有一些功能,例如 FIND/SEARCH/REPLACE .... 我在 pyExcelerator 或 xlrd 模块中看不到这些功能.. 我不想使用 win32com模块!它使我的工具基于窗口!

通过 Python 查找/搜索 Excel 行....任何想法,有人吗?

0 投票
4 回答
26027 浏览

python - CSV 文件的 Unicode 到 UTF8 - Python 通过 xlrd

我正在尝试使用 Python xlrd 和 csv 模块将 Excel 电子表格转换为 CSV,但我对编码问题感到困惑。Xlrd 以 Unicode 格式从 Excel 生成输出,而 CSV 模块需要 UTF-8。

我认为这与 xlrd 模块无关:一切正常输出到标准输出或其他不需要特定编码的输出。

工作表编码为 UTF-16-LE,根据book.encoding

我正在做的简化版本是:

这会产生以下错误,大约 740 行:

该值似乎被挂断为“516-777316”——原始 Excel 工作表中的文本为“516-7773167”(末尾为 7)

我将是第一个承认我对字符编码的工作原理只有模糊认识的人,所以到目前为止我尝试过的大部分都是各种摸索.encode.decode排列s.cell_value(row,col)

如果有人可以提出解决方案,我将不胜感激——如果您能解释什么不起作用以及为什么不起作用,这样我将来可以更轻松地自己调试这些问题,那就更好了。

提前致谢!

编辑:

感谢到目前为止的评论。

当我使用this_row.append(s.cell(row,col))(egscell 而不是 s.cell_value)时,整个文档的写入都没有错误。

输出不是特别理想 ( text:u'516-7773167'),但即使有问题的字符仍在输出中,它也可以避免错误。

这让我觉得挑战可能在 xlrd 中。

想法?

0 投票
13 回答
786936 浏览

python - 使用 Python 列表中的值创建一个 .csv 文件

我正在尝试使用 Python 列表中的值创建一个 .csv 文件。当我打印列表中的值时,它们都是 unicode (?),即它们看起来像这样

如果我遍历列表中的值,即for v in mylist: print v它们似乎是纯文本。

我可以,在每个之间放一个print ','.join(mylist)

我可以输出到一个文件,即

但我想输出到 CSV 并在列表中的值周围设置分隔符,例如

我找不到在格式中包含分隔符的简单方法,例如我已经尝试过join声明。我怎样才能做到这一点?

0 投票
3 回答
7008 浏览

python - 使用 pyExcelerator/xlrd

如何使用 pyExcelerator / xlrd 等 python 库创建带有数据透视表的工作表(在 Excel 工作簿中)?我需要生成一个包含数据透视表的每日报告,以汇总其他工作表上的数据。一种选择是使用我复制并填充数据的空白模板。在这种情况下,有没有办法从代码中刷新数据透视?还有其他建议吗?

0 投票
5 回答
167820 浏览

python - 使用 xlwt 写入现有工作簿

我找不到使用 xlwt 写入现有文件的示例。我有一个需要写入的现有 xls 文件。当我使用 xlrd 读取文件时,我似乎无法弄清楚如何将返回的“Book”类型转换为 xlwt.Workbook。如果有人能给我举个例子,我将不胜感激。

0 投票
2 回答
28193 浏览

python - 在 Python 中使用 xlrd 将数字 Excel 数据读取为文本

我正在尝试使用 xlrd 读取 Excel 文件,我想知道是否有一种方法可以忽略 Excel 文件中使用的单元格格式,而只是将所有数据作为文本导入?

这是我目前使用的代码:

此代码是有效的,但有某些字段(例如邮政编码)作为数字导入,因此它们具有十进制零后缀。例如,Excel 文件中是否有邮政编码“79854”,则将其导入为“79854.0”。

我曾尝试在此xlrd 规范中找到解决方案,但没有成功。

0 投票
1 回答
2066 浏览

python - win32com 相当于 xlrd 的 sheet.ncols

xlrd 可以很容易地知道最后一列是什么。

有没有使用win32com 的简单方法?

我试过使用 ws.UsedRange.Rows.Count 但这似乎没有给出正确的答案。

0 投票
3 回答
2651 浏览

python - 为什么win32com比xlrd慢那么多?

我有相同的代码,使用 win32com 和 xlrd 编写。xlrd 在不到一秒的时间内执行算法,而 win32com 需要几分钟。

这是win32com:

和 xlrd

0 投票
1 回答
3543 浏览

python - xlrd 和 xlwt python 库的日期时间问题

我正在尝试将一些日期从一个 Excel 电子表格写入另一个。目前,我在 excel 中得到一个不是我想要的表示形式,例如:“40299.2501157407”

我可以将日期很好地打印到控制台,但是写入 excel 电子表格似乎无法正常工作——数据必须是 excel 中的日期类型,我不能有它的文本版本。

这是读取日期的行:

这是写出日期的行:

除了一些比较之外,这两行之间没有对 date_ccr 做任何事情。

有任何想法吗?