我的excel文件没有标题或漂亮的行和列。它还具有公式。我想读取计算公式的值,而不是公式。 python读取excel文件的最佳方法是什么?我尝试过openpyxl,但无法让熊猫正常工作。
excel文件中的示例:
[A] [B] [C] [D] [E]
[1] Test Case 3 - Step 8
[2] Enter the PL, PF, and PR values from the VSWR file below, the formula will calculate the P1 and P2 values that can be entered in the TPR.
[3] PL PF PR P1 = (VL*IL)/2 P2 = PL = PF-PR
[4] 39.3470 39.4508 0.1038 39.3994 39.3470
[5]
[6] Test Case 3 - Step 9
[7] The formula will compare the P1 and P2 values calculate above and determine if they are within the tolerance of 10%.
[8] |P1-P2| % Diff Tolerance 5.0%
[9] 0.0524 0.1332% PASS
第1、2、6和7行仅包含文本,位于第一列。 第3行和第8行是显示A-E列中公式的文本。 单元格A4,B4和C4包含输入的数据。 单元格D4,E4,A9,B9和C9包含对公式进行求值后的值。
代码:
import openpyxl
from openpyxl import load_workbook
wbt = load_workbook(filename = "Power_Assurance_Results.xlsx")
wst = wbt.active
Total_Power_Diff = wst['B9'].value
Total_Power_Test = wst['B28'].value
我需要获取第4行和第9行中的数据值。 对于Total_Power_Diff,我得到公式= A9 / E4,而不是值0.001332。 对于Total_Power_Test,我不会获得任何帮助。 C9上的公式为= IF(B9 <= 0.05,“ PASS”,“ FAIL”)。 我不知道如何使用熊猫来读取这种Excel文件。我以为我读到可以从单元格而不是公式中获得评估值。
答案 0 :(得分:1)
openpyxl用于读取公式,大熊猫会为您提供保存时计算出的excel数字。您将要同时使用这两种方法,请使用pandas获取编号,并使用openpyxl编辑编号并保存。除非您只是在阅读,否则不要担心openpyxl。
现在,为什么熊猫对您不起作用?
import pandas as pd
wbt = pd.read_excel('Power_Assurance_Results.xlsx')
wbt.head()