Мой сценарий считывает несколько файлов .csv
в кадры данных, добавляет все в список кадров данных и объединяет их в RecordKey
.
import pandas as pd
demoRaw = pd.read_csv("D2.csv", encoding = 'utf-8')
keyRaw = pd.read_csv("Key.csv", encoding = 'utf-8')
vitalRaw = pd.read_csv("V2.csv", encoding = 'utf-8')
dfs = [key, demo, vital, dx]
df_final = reduce(lambda left,right: pd.merge(left,right,on='Key'), dfs)
Затем я добавляю пустой столбец с именем Meds
df_final["Meds"] = ""
Создание модуля записи в Excel
writer = pd.ExcelWriter('final.xlsx', engine='xlsxwriter')
Назначение длины df и создание пустого списка для формул
length_of_df = len(df_final)
list_of_formulas = []
Этот цикл (кредит W.Dodge) выполняет итерацию формулысоответствует ячейке
for i in range(2,length_of_df+2):
formula = '=IF(COUNTIFS(Sheet2!A:A,A{0})>0,1,0)'.format(i)
list_of_formulas.append(formula)
Затем я пытаюсь записать список в столбец Meds
df_final.loc[:, "Meds"] = list_of_formulas
df_final.to_excel(writer, sheet_name='Combined')
meds.to_excel(writer, sheet_name='Meds')
writer.save()
Однако Excel возвращает следующие сообщения об ошибках:
При выборе «Нет» возвращается пустая книга.Выбор Yes возвращает ...
Все остальное сливается нормально, но столбец Meds заполнен нулями, без формул.
Журнал регистрации файлов ремонтов:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error133040_01.xml</logFileName><summary>Errors were detected in file 'C:\Users\4469177\Nate\Work\Coding\Python\scripts\final.xlsx'</summary><removedRecords summary="Following is a list of removed records:"><removedRecord>Removed Records: Formula from /xl/worksheets/sheet1.xml part</removedRecord></removedRecords></recoveryLog>