Найти - Пользователи
Полная версия: Помогите с экселем
Начало » Python для новичков » Помогите с экселем
1 2 3
also1
Пытаюсь записать данные в эксель,
Изначально первый столбец выглядит так: 05.02.2021 и так бы его и оставить,
но после выполнения кода первый столбец преобразуется в 2021-02-25 00:00:00
и в нужную ячейку ничего не записывается.
Как это можно победить?
 import pandas as pd
wb = pd.read_excel('text4 (2).xls')  # Открытие файла
wb.loc['26.02.2021','Зарплата']='zp'
wb.to_excel('text4 (2).xls',index=False)
also1
Ни каких вариантов???
doza_and
also1
Как это можно победить?
also1
Ни каких вариантов???
Есть варианты.
1.- не использовать exel (проблема снимется по определению).
2. Варант помягче не использовать pandas. Вы создаете файл с нуля, всякие хитрости внутренние получаете по умолчанию. Умолчание вас не устраивает. Меняйте одну ячейку например при помощи openxls.
3. Выясните что отвечает за форматирование и поправьте. Тут вам не подскажу. Эксела у меня нет и пользоватья им не собираюсь.
xam1816
also1
Ни каких вариантов???
у вас в таблице наверное ячейки в формате ‘дата’ стоят вместо ‘текст’
пришлите что показывает принт

 wb = pd.read_excel('text4 (2).xls')
print(wb.columns)




also1
I:\python\python.exe GALSO/Верстка/Python/Коды/Зряплата01/Vvod4.py
Index(['Дата', ‘Выручка’, ‘Смена’, ‘ЗарплатаЗабрано’, ‘Инкассо’, ‘Зарплата’,
‘ЗП забрано всего’, ‘В сейф всего’],
dtype='object')
Да, в екселе этот столбец в формате дата.т к если сделать в текстовом формате не получится заполнять даты протягиванием , а это нужно.
главная задача записать в нужный столбец и в нужную дату некоторого значения и сохранить файл.
xam1816
also1
главная задача записать в нужный столбец и в нужную дату некоторого значения
тогда нужно дату делать в формате datetime
xam1816
вот так можно менять значение по дате,если такая дата есть то значение поменяется

 wb.loc[wb['Дата'] == '26.02.2021','Зарплата'] = 55555

вот так записывать дату из dateframe в строку нужного формата
 date= dt.datetime(2021,2,26).strftime('%d.%m.%Y')
но в excel запишет как общий формат,а не даты и в дату ручками не переделывается, аналогичный результат дает если сразу строку записать ‘26.02.2021’

 dt.date(2008,3,2)
так запишет в формате даты,но в таблице будут отображаться через тире пока сам не переделаешь в менюшке формат->дата,

В общем, та еще морока, когда ни тут,ни там путем не разбираешься,экспериментировать можно долго
also1
xam1816 Спасибо. Буду пробовать уже с экселем дорабатывать. Чтоб он сам менял формат ячеек при открытии
also1
С этим вопросом вроде разобрался,
Сейчас не получается получить сумму по столбцу с начала и до определенной даты.
Дата Выручка
01.01.2021 10000
02.01.2021 1000
03.01.2021 10000
04.01.2021 10000
05.01.2021 5000
06.01.2021 15000
07.01.2021 10000
08.01.2021 10000
09.01.2021 1000
10.01.2021 10000
11.01.2021 10000
12.01.2021 5000
13.01.2021 15000
14.01.2021 10000
15.01.2021 15000
Как получить сумму по столбцу “Выручка” с начала и до например 10.01
 vyruchka_vsego = wb['Выручка'][:'2021-01-10 00:00:00'].sum()
выдает ошибку: TypeError: cannot do slice indexing on RangeIndex with these indexers of type str
also1
Я придумал только через создание нового фрейма в заданных границах дат.
Это норм или можно умнее?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB