#python #excel #pandas
Вопрос:
У меня есть следующий код:
options = {}
options['strings_to_formulas'] = False #Tried to fix 'problem with some content, want to repair' - no succes
options['strings_to_urls'] = False #Tried to fix 'problem with some content, want to repair' - no succes
writer = pandas.ExcelWriter(str(inputfolder) '/all_results_' str(sequence_id) '.xlsx', options=options)
for file in csv_file_list:
file_panda = pandas.read_csv(file, sep = 't', header = None, dtype=str) #dtype=str; Tried to fix 'problem with some content, want to repair' - no succes
file_panda.to_excel(writer, Path(file).stem, header=False, index=False)
writer.save()
writer.close()
Но я продолжаю получать ошибку в Excel с тем, что она не может открыться без исправления некоторых вещей. Затем в журнале ремонта говорится Repaired Records: Worksheet properties from /xl/workbook.xml part (Workbook)
. Единственное, что я могу себе представить, это то, что есть довольно много ячеек, которые начинаются с » «или» -«, что не нравится Excel, но поиск в Интернете этой проблемы мне пока не помог..
Другая проблема, с которой я продолжаю сталкиваться, заключается в том, что, когда я восстанавливаю и продолжаю открывать файл excel, он продолжает говорить, что он заблокирован для редактирования «другим пользователем», и я могу открыть его только для чтения. Похоже, файл все еще «используется» моим сценарием каким-то образом, даже несмотря на то, что я закрыл его и даже заставил освободить дескрипторы?
У кого-нибудь есть какие-либо идеи, как решить эти проблемы?
Заранее спасибо!
Комментарии:
1. всегда помещайте полное сообщение об ошибке (начинающееся со слова «Обратная связь») в вопрос (не комментарий) в виде текста (не скриншот, не ссылка на внешний портал). Есть и другая полезная информация.
2. Спасибо, но ошибок при отслеживании нет. Код выполняется идеально. Ошибки возникают, когда я открываю excel, и это просто общие всплывающие сообщения, генерируемые excel, когда файл поврежден (подробная информация о журнале восстановления приведена в моем сообщении) и когда файл недоступен, потому что он открыт где-то в другом месте
3. Я не знаю, следует ли вам использовать
writer.save()
, потомуto_excel()
что вы уже должны сохранить его.
Ответ №1:
Попробовав еще немного, я обнаружил, что мои автоматически сгенерированные имена листов, основанные на именах файлов, превысили 31 лимит, установленный Excel. Это вызывает много проблем.