相关疑难解决方法(0)

Pandas可以读取和修改单个Excel文件工作表(选项卡)而无需修改文件的其余部分吗?

许多电子表格都有公式和格式,用于读取和写入Excel文件的Python工具无法忠实再现.这意味着我想以编程方式创建的任何文件必须是我从头开始创建的东西,然后其他Excel文件(具有上述复杂性)必须引用该文件(这会产生各种其他依赖性问题).

我对Excel文件'tabs'的理解是它们实际上只是XML文件的集合.那么,是否可以使用pandas(或其中一个底层读/写引擎,如xlsxwriter或openpyxl来修改其中一个选项卡,其他选项卡(其中有更多邪恶的东西)完好无损?

编辑:我将尝试通过一个例子进一步阐述问题.

  • Excel Sheet test.xlsx有四个选项卡(又名工作表):Sheet1,Sheet2,Sheet3,Sheet4
  • 我使用pandas.read_excel()将Sheet3读入DataFrame(让我们称之为df)
  • Sheet1和Sheet2包含公式,图形和各种格式,openpyxl和xlrd都无法成功解析,Sheet4包含其他数据.我根本不想触摸那些标签.
  • Sheet2实际上对Sheet3上的单元格有一些引用
  • 我对df进行了一些编辑,现在想把它写回到sheet3,保持其他工作表不变(并且工作簿中其他工作表对它的引用完整)

我可以这样做,如果是这样,怎么样?

python excel pandas

18
推荐指数
4
解决办法
1万
查看次数

如何在不丢失公式的情况下保存在openpyxl中?

因为我需要解析然后使用单元格中的实际数据,所以我openpyxldata_only = True.

事实证明,这非常有用。但是,现在同样需要在单元格中包含公式的 xlsm,当我保存更改时,保存的版本中缺少公式。

data_only = True和公式相互排斥?如果没有,如何在保存时访问单元格中的实际值而不会丢失公式?

当我说我丢失了公式时,似乎公式的结果(总和、串联等)得到了保留。但是当单击单元格时不再显示实际的公式本身。

更新:

为了确认公式是否被保留,我重新打开了保存的 xlsm,这次data_only左为False. 我检查了value使用公式构建的单元格的 。如果保留了公式,打开将 data_only 设置为 False 的 xlsm 应该会返回公式。但它返回实际的文本值(这不是我想要的)。

python python-2.7 openpyxl

5
推荐指数
1
解决办法
4964
查看次数

标签 统计

python ×2

excel ×1

openpyxl ×1

pandas ×1

python-2.7 ×1