问题标签 [xlsb]

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 投票
1 回答
35 浏览

excel - Pandas - 连接多个名称不同但数据类型相同的excel文件

我有大约 50 张带有 .'xlsb' 扩展名的 excel 表。我想将特定工作表连接到 pandas DataFrame(所有工作表名称都相同)。我遇到的问题是每个工作表中的列名并不完全相同。我使用熊猫编写了一个代码,但它的工作方式是将所有值连接到熊猫数据框中的同一列中,但基于列的名称。例如:有时我有一个名为:FgsNr 的列,有时是 FgNr - 两列中的数据类型和含义完全相同,我希望将它们放在数据框中的同一列中,但 pandas 创建以分隔数据框中的列并仅将列中列出的具有相同名称的值堆叠在一起。

我如何更正代码,以便它复制并连接基于 excel 中的列的所有值,同时忽略列的名称?

0 投票
0 回答
137 浏览

python - Xlwings 以小数形式读取浮点数的范围,并截断小数

我正在尝试使用 xlwings 从“.xlsb”文件中读取二维值范围。该范围包含一系列公式,它们返回浮点数。当我读入这些值时,它会以小数而不是浮点数的形式读入。问题是超过 4 个点的小数会被截断。例如,我在 excel 中有一个值为 0.0913495 的值,但它被读取为十进制('0.0913')。更糟糕的是,当我尝试将这些小数转换为浮点数时,我发现任何超过 4 位小数的精度都被完全忽略了。例如调用 float(Decimal('0.0913')) 返回 0.0913!

到目前为止,我已经尝试了以下方法来解决这个问题,但都没有奏效:

  1. 通过调用 decimal.getcontext().prec = 28 将精度设置为 28。我也尝试过 7、8 等。这似乎没有任何改变。
  2. 使用 .options 方法: sheet.range("myrange").options(numbers = lambda x : float(x)).value
  3. 试过“.raw_value”

具有讽刺意味的是 (2) 仍然以小数形式返回数字,就好像我的选项被忽略了一样。

这是一个问题,因为对于我的特定应用程序,我依赖于比小数点后 4 位更高的精度,但 xlwings 拒绝以超过 4 位小数的任何精度读取估计值。我该如何解决?

作为参考,我将 xlwings 0.23.0 与 Python 3.8.8 和 Excel 版本 2108(Build 14326.20238)一起使用

0 投票
0 回答
35 浏览

python - 在熊猫中处理日期时间列

我想在熊猫中读取 xlsb 文件。我有 3 个日期时间列 第 1 列格式是(2021-5-31 01:20:23)第 2 列格式(总时间)是(01:20:23)第 3 列格式是(01:20:23 am)

但是当我阅读文件时,我得到了 46090.0 列

有什么方法可以按原样读取excel列吗?

0 投票
0 回答
34 浏览

r - 如何在读取 XLSB 文件时跳过空白行以节省读取时间

目标 跳过读取文件并将读取的数据插入数据框中,当年份列空白时。

目的 我的输入文件有 100 万行列,companyName但一旦Year列变为空白,其他数据就为空白。如果我只能在函数在Year列中命中空白之前准备好 xlsb,则文件读取速度将大大提高。

我的尝试

我正在使用范围来限制读取,但它不是最好的方法,因为带有数据的行数可能会在未来的文件中发生变化。

有人可以建议一个好的方法吗?

我有一个 xlsb 表(excel 二进制格式):

我正在使用read_xlsb() 来自 library(readxlsb)

0 投票
0 回答
121 浏览

c# - 如何在 C# 中写入和读取 .xlsb 文件而不使用 Excel 互操作

我有多个 .xlsb 模板,其中包含 5-6 张纸。首先,我需要在 2-3 张工作表中动态添加数据,以便第 4 和第 5 张工作表可以根据其中写入的宏/公式生成数据。你们能帮我看看有什么用吗?

我已经尝试过什么?

  • ExcelDataReader - 但它不能始终适用于 xlsb
  • LinqToExcel - 我可以通过创建模型从自定义模板中读取数据并通过 Linq 获取相关数据

我没有找到任何用于将数据写入/导出到 xlsb 到特定工作表的东西 谁能帮助我,因为我无法将模板转换为另一种格式,它必须是 xlsb。

0 投票
0 回答
15 浏览

replace - 上传 .xlsx 文件

我拥有对我组织的 Intranet 文件夹的编辑/发布访问权限。我过去 4-5 个月一直在使用它,没有任何问题。最近更新了软件{Microsoft SMB1-Win10}。我仍然可以访问。我仍然可以上传文件、替换、保存和发布。但是,当从 Intranet 链接打开文件时,会打开旧文件。当我上传、替换、保存和发布新文件时,我没有收到任何错误。我尝试了 3 - 4 个不同的文件,结果相同。今天,我创建了链接并添加了新文件——一切都成功了。但是,当我对文件进行更改并去替换、保存和发布时,我没有收到任何错误,但链接仍然在打开旧文件。任何帮助将不胜感激。PS:我不是开发人员,根本没有管理权限来进行建议性更改。我所追求的只是如果我能被引导到正确的方向/指导上,那么我就可以与我办公室的 IT 问题解决者联系起来。问候

0 投票
0 回答
64 浏览

python - 在 Python 中将 pandas Dataframe 保存为 xlsb 格式?

我有一个包含 5 列的数据框。Date 列的类型为 Object。df : 日期
0 2020-06-01T00:00:00.000Z
1 2021-08-01T00:00:00.000Z
2 2021-06-01T00:00:00.000Z
3 2021-07-01T00:00:00.000Z
4 2021- 01-01T00:00:00.000Z

我正在尝试将数据框转换为 xlsb 格式,以便可以使用此 excel 进行进一步分析。

为什么我需要将其转换为 xlsb 格式?

我尝试按照此处的答案删除 TZ 组件并将列转换为 YMD 格式。我面临的问题是即使在转换之后,日期列仍然有时区组件。当我在 R 中执行插补和异常值处理时,它无法获取年、月、日字段。

因此,我正在尝试将数据帧转换为 xlsb 格式,然后将其导入,这样时区组件就不会出现,并且我能够继续我的插补/异常值处理。

如果有人有更好的方法从列中删除时区组件或任何其他将日期列转换为 YMD 格式的方法是最受欢迎的。

我试过在堆栈溢出中搜索。但找不到正确答案。

0 投票
0 回答
23 浏览

excel - 如何保存我的工作簿但不在我的 .xlsb 路径上?

我有一个可以备份的宏。我希望宏可用于我的所有工作簿,所以我将它放在我的 personal.xlsb 文件中。但是备份保存在 .xlsb 路径上,而不是我正在实际工作的工作簿的路径上......也许是 Application.ThisWorkbook.path 代码

0 投票
1 回答
37 浏览

pandas - 如何读取熊猫中的时间列以及如何将其转换为毫秒

我想像在 excel 中一样阅读这个时间。并且想转换成毫秒,因为我想用时间来计算时间差百分比以进一步工作

0 投票
0 回答
13 浏览

python - 熊猫中的时间列读数以浮点形式给出输出。我想在两个时间列中取百分比差异,我希望与 excel 中的时间相同

我用这段代码来读取excel文件 df=pd.read_excel("XYZ.xlsb",engine='pyxlsb',dtype={'Time':str})

这只是为了展示我在阅读 excel 文件后得到的结果。