Первый раз, когда я отправляю сообщение, и я скорее новичок.Pandas, назвав несколько листов в соответствии со списком списков
Во всяком случае, я играл с Pandas и Numpy, чтобы сделать некоторые вычисления из Excel.
Теперь я хочу создать файл .xlsx, на который я могу вывести свои результаты, и я хочу, чтобы каждый лист был назван именем имени выводимой части данных.
Это мой код, я попробовал пару различных решений, но я не могу понять, как его написать.
В коде вы видите, что save_excel просто делает пронумерованные листы (и отлично работает), а save_excelB пытается сделать то, что я описываю, но я не могу заставить его работать.
from generate import A,b,L,dr,dx
from pandas import DataFrame as df
from pandas import ExcelWriter as ew
A=df(A) #turning numpy arrays into dataframes
b=df(b)
L=df(L)
dr=df(dr)
dx=df(dx)
C=[A,b,L,dr,dx] #making a list of the dataframes to iterate through
def save_excel(filename, item):
w=ew(filename)
for n, i in enumerate(item):
i.to_excel(w, "sheet%s" % n, index=False, header=False)
w.save()
def save_excelB(filename, item):
w=ew(filename)
for name in item:
i=globals()[name]
i.to_excel(w, sheet_name=name, index=False, header=False)
w.save()
Я запускаю оба метода так же, как я вызываю функцию, и добавляю имя файла, а для элемента I вставляю список C, который я сделал.
Так было бы:
save_excelB("file.xlsx", C)
и это то, что я получаю
TypeError: 'DataFrame' objects are mutable, thus they cannot be hashed
Как вы называете эти функции? Как он не делает то, что вы ожидаете? –
Я запускаю оба так же, как я вызываю функцию, и добавляю имя файла, а для элемента i вставляю список C, который я сделал. Поэтому было бы: save_excelB («file.xlsx», C) и это то, что я получаю TypeError: объекты «DataFrame» изменчивы, поэтому они не могут быть хэшированного – 6F4E37
Это лучшее, что вы [править] Ваш вопрос чтобы включить эту информацию ... :) –