Я определил функцию Python для чтения определенного диапазона таблицы данных Excel (объекта списка) и преобразования его в фрейм данных Panda. Теперь моя проблема в том, что я хочу, чтобы кадр данных panda читал вычисленный результат (значение) ячейки Excel, а не формулу ячейки. Но, как показывают прикрепленные изображения, оно ведет себя вопреки моим ожиданиям. (например, если я написал формулу в ячейке T188, например: =MID([@name],3,10), результатом которой будет «957», прочитанный кадром данных panda. =MID([@name],3,10) not "957")Результат кода
Можете ли вы помочь мне в этом вопросе?
Дополнительно информация:
код
def excel_table(src_file):
from openpyxl import load_workbook
import pandas as pd
from pathlib import Path
# Initial_row=int(input("which row to begine?"))
Initial_row=130
wb = load_workbook(filename = src_file)
sheet = wb['Sheet1']
# print(sheet.tables.keys())
lookup_table = sheet.tables['Table1']
print(lookup_table.ref)
# Access the data in the table range
data = sheet[lookup_table.ref]
rows_list = []
for row in data:
# Get a list of all columns in each row
cols = []
for col in row:
cols.append(col.value)
rows_list.append(cols)
# Create a pandas dataframe from the rows_list.
# The first row is the column names
df = pd.DataFrame(data=rows_list[Initial_row:], index=None, columns=rows_list[0])
return df
df=excel_table(r"C:\Users\Trust.computer\Desktop\web scraping\sabad\constumers.xlsx")
print("df is")
print( df)
Подробнее здесь: https://stackoverflow.com/questions/790 ... ted-result