Листы «s1», «s2» и «s3» пусты, а лист «Заключение» содержит формулы для анализа данные из других листов.
Код: Выделить всё
'Conclusion'
A
B
C
< /thead>
среднее(s1)
среднее(s2)
среднее(s3)
среднее(s1)
среднее (s2)
среднее(s3)
ШАГ 1:
Я создал программу для заполнения листов «s1», «s2» и «s3» и сохранения модель.
ШАГ 2:
Я получаю результаты из листа «Заключение».
Проблема в том, что полученные результаты всегда пусты, если я вручную не открываю, не сохраняю и не закрываю файл Excel между шагами 1 и 2. Как я могу прочитать значения ячеек, не открывая файл Excel вручную?
Я использую следующий код:
Код: Выделить всё
import pandas as pd
import numpy as np
def create_random_df():
# Define size of data matrix
rows = 10
cols = 5
# Generate random data
data = np.random.rand(rows, cols)
# Create column names
columns = ['A', 'B', 'C', 'D', 'E']
# Create the DataFrame
df = pd.DataFrame(data, columns=columns)
return df
# Creating different sheets to append to a main file
sheet_names = ['s1', 's2', 's3']
sheet_dfs = dict()
for k in sheet_names:
sheet_dfs[k] = create_random_df()
# Appending sheets into a file
file_path = r'path\to\file.xlsx'
with pd.ExcelWriter(file_path, engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer:
for k,v in sheet_dfs.items():
v.to_excel(writer, sheet_name=k, header=True, index=False, float_format='%.2f')
df = pd.read_excel(file_path, sheet_name='Conclusion', usecols='A:C', nrows=5, header=0)
p>
df = pd.read_excel(file_path,sheet_name='Conclusion', usecols='A:C', nrows=5, header=0).
В противном случае я получаю значения None или NaN.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ugh-pandas