Python Pandas ExcelWriter, значения ошибок, которые исчезают - PullRequest
0 голосов
/ 27 ноября 2018

Прикрепленный код открывает лист Excel, извлекает данные, обрабатывает их и записывает результаты в другую электронную таблицу.Что странно, так это то, что он работает в первый раз, но во второй раз возникает проблема.И я не знаю, как решить проблему.Python не дает мне никакой ошибки.

Сумма программы отличается от общей суммы, а затем записывается количество проданных товаров в соответствии со статьей.

Во второй раз мы видим, что ИТОГО CB, Cashили Проверьте значения исчезают, и я не понимаю, почему.

Я запускаю код в первый раз: Print data

Я перезапускаю код: second print data

Мы видим, что итоговые значения исчезли. Мы видим, что итоговые значения исчезли.Когда я смотрю на свой лист Excel 1, мы замечаем, что € исчезли.Это может быть источником проблемы.Но я не понимаю, почему знак исчезает.

Excel перед кодом: excel original

Excel после запуска: after running

А вот и файл Excel: https://drive.google.com/file/d/1LtDvot78Uh-e8MhiG1Ti-MLc05aXyGua/view?usp=sharing

Подсказка сделала копию файла Excel

Цель состоит в том, чтобы иметь возможность запускать код несколько раз, не имея этогопроблема

спасибо !!!!

import pandas as pd
import numpy as np
import xlsxwriter
from openpyxl import load_workbook
from pandas import ExcelWriter
from pandas import ExcelFile
data=pd.read_excel("site.xlsx","Feuille1", keep_default_na=False, skiprows = [0,1]) 
print(data)

totalballon=[]
b=[]
espece=np.where(data['Unnamed: 2']=='TOTAL Espèces')[0]
carte=np.where(data['Unnamed: 2']=='TOTAL CB')[0]
cheque=np.where(data['Unnamed: 2']=='TOTAL Chèque')[0]

articles=["Ballon bleu", "CH24 jaune", "Ballon rouge", "Chapeau", "Ballon vert", "Pantalon", "Fleurs"]

print(np.sum(data['Unnamed: 4'][espece]))
print(np.sum(data['Unnamed: 4'][carte]))
print(np.sum(data['Unnamed: 4'][cheque]))

for i in articles:
    nb=np.where(data['Unnamed: 2']==i)[0]
    b.append(np.sum(data['Unnamed: 1'][nb]))
print(b)

ballon=["Ballon bleu", "Ballon rouge", "Ballon vert"]

for j in ballon:
    nb=np.where(data['Unnamed: 2']==j)[0]
    totalballon.append(np.sum(data['Unnamed: 1'][nb]))
totalballon=[sum(totalballon)]
print(totalballon)

with pd.ExcelWriter('site.xlsx', engine='openpyxl') as writer:
    writer.book = load_workbook('site.xlsx')

    TOTALespece = np.sum(data['Unnamed: 4'][espece])
    TOTALcarte = np.sum(data['Unnamed: 4'][carte])
    TOTALcheque = np.sum(data['Unnamed: 4'][cheque])

    df1 = pd.DataFrame({'articles':articles})
    df2 = pd.DataFrame({'nombres':b})
    df3 = pd.DataFrame({'Total ballon':totalballon})

    dfe = pd.DataFrame({'TOTAL Espèces':[TOTALespece]})
    dfcarte = pd.DataFrame({'TOTAL CB':[TOTALcarte]})
    dfcheque = pd.DataFrame({'TOTAL Chèque':[TOTALcheque]})

    df1.to_excel(writer, "Feuille2", index=False)
    df2.to_excel(writer, "Feuille2", index=False, startcol=1)
    df3.to_excel(writer, "Feuille2", index=False, startcol=2)
    dfe.to_excel(writer, "Feuille2", index=False, startcol=3)
    dfcarte.to_excel(writer, "Feuille2", index=False, startcol=4)
    dfcheque.to_excel(writer, "Feuille2", index=False, startcol=5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...