Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458

Пересохранить/открыть txt как xls

15.03.2018, 23:45. Показов 3854. Ответов 18
Метки нет (Все метки)

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



Вопрос как с помощью питона: открыть этот текстовый файл txt через эксель ? либо пересохранить формат .txt файла в .xls ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2018, 23:45
Ответы с готовыми решениями:

Python v.2.7 Как открыть второй 2.txt путь к которому прочитали из первого 1.txt
Привет всем, нуждаюсь в помощи тех, кто с таким сталкивался. Кратко: Прочесть путь к файлу .txt и по нему, открыть на редактирование...

Переконвертировать txt в xls
Задача переконвертировать txt файл (исходный.txt) в таблицу (как должно получиться - таблица.xls) При попытке открыть обнаружил, что все...

Открыть txt файл в pandas
здравствуйте, может и мне получится помочь, почему у меня не получается открыть файл? import pandas as pd data =...

18
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
16.03.2018, 00:01
Можно открыть так

Python
1
2
import subprocess
subprocess.run(["C:\Program Files\Microsoft Office\Office14\EXCEL.EXE", "output.txt"])
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
16.03.2018, 07:53
rar, расширение с txt, на xls поменяй и все.
0
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
16.03.2018, 17:34  [ТС]
Цитата Сообщение от alex925 Посмотреть сообщение
rar, расширение с txt, на xls поменяй и все.
- программно или вручную? если вручную - не подойдет , расширtнение исходного файла не должно меняться. суть в чем - открываю txt но через эксель , меняю данные в экселевских ячейках, сохраняю снова в txt

ТабуретY

видимо, subprocess - библиотека из питона 3.0 . У меня IronPython 2.7 не подгружает ее
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
16.03.2018, 17:43
Судя по этому https://ironpython-test.readth... ocess.html
subprocess есть, только не run(), а call()
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.03.2018, 17:49
Судя по всему у вас файл csv c сепаратором "точка с запятой" - такие excel открывает в правильных ячейках.
Для программной работы с csv в CPython есть встроенный модуль csv. Поддерживается ли он в IronPython - не знаю.
1
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
16.03.2018, 18:00  [ТС]
Garry Galler
скорее всего csv подойдет, если с xls не выйдет , буду пытать csv


ТабуретY
да, call подходит.

вышло так

Python
1
2
3
4
import sys
sys.path.append(r'C:\Program Files (x86)\IronPython 2.7\Lib')
import subprocess
subprocess.call(["C:\Program Files\Microsoft Office\Office15\EXCEL.EXE", path_])
только Office15
C:\Program Files\Microsoft Office\Office15\EXCEL.EXE

Подскажите, если заранее неизвестен путь EXCEL.EXE , версия Office14 / Office15 , то как лучше прописать путь,чтобы он определялся автоматом

если без вариантов то единственное что вижу это (шлак конечно и сколько версий может быть экселя Officexx и путь наверно может быть другой):
Python
1
2
3
4
5
try:
    C:\Program Files\Microsoft Office\Office14\EXCEL.EXE
 
except:
    C:\Program Files\Microsoft Office\Office15\EXCEL.EXE
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.03.2018, 18:34
Лучший ответ Сообщение было отмечено rar как решение

Решение

Цитата Сообщение от rar Посмотреть сообщение
если заранее неизвестен путь EXCEL.EXE
То для win7 и выше есть команда оболочки для поиска файлов where, которую из python можно запустить так:
Python
1
2
>>> os.popen('where /R "%programfiles%\Microsoft Office" excel.exe').readlines()
['C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE\n']
1
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
16.03.2018, 18:49  [ТС]
Главный вопрос - как питоном сохранить открытый файл (именно открытый экселем txt файл ) -

(получилось открыть через Microsoft.Office.Interop.Excel)

с разделителями табуляции

(либо в кодировке ANSI)

Добавлено через 3 минуты
Цитата Сообщение от Garry Galler Посмотреть сообщение
То для win7 и выше есть команда оболочки для поиска файлов where, которую из python можно запустить так:
круто, надо пробовать
если есть ссылка в закладках где лучше описание этого - прошу выложить. если нет -неважно, сам найду

Добавлено через 9 минут
Цитата Сообщение от rar Посмотреть сообщение
Главный вопрос - как питоном сохранить открытый файл (именно открытый экселем txt файл ) -
Питоном пока удалось открыть txt файл через эксель ...далее:
здесь поясню - после того как открыл файл txt в экселе - меняю данные в ячейках - при этом чтобы сохранить эти изменения (при сохранении вручную) - эксель просит задать какое расширение файла и кодировку - мне нужна именно с разделителями табуляции (она присутствует в списке экселя) - вот эту часть действий сейчас нужно прописать в питоне...
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.03.2018, 19:53
Цитата Сообщение от rar Посмотреть сообщение
если есть ссылка в закладках
Весь help можно из оболочки и получить:where /?
Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
WHERE [/R каталог] [/Q] [/F] [/T] шаблон...
 
Описание:
    Отображает расположение файлов, совпадающих с шаблоном поиска.
    По умолчанию поиск выполняется в текущем каталоге и в каталогах,
    указанных в переменной среды PATH.
 
Параметры:
    /R       Рекурсивный поиск и отображение файлов, соответствующих
             указанному шаблону, начиная с указанного каталога.
 
    /Q       Возврат только кода выхода без отображения списка
             найденных файлов (тихий режим)
 
    /F       Отображение найденных файлов в кавычках.
 
    /T       Отображение размера, даты и времени изменения для всех
             найденных файлов.
 
    шаблон   Шаблон поиска для искомых файлов.
             В шаблоне можно использовать подстановочные знаки * и ?.
             Также можно задавать конструкции "$пер:шаблон" и "путь:шаблон",
             где "пер" представляет переменную среды, и
             поиск осуществляется по путям, указанным в переменной
             среды "пер". Эти конструкции не следует использовать
             с параметром /R. При поиске к шаблону также
             добавляются расширения из переменной PATHEXT.
 
     /?      Вывод справки по использованию.
 
  Примечание. Эта служебная программа возвращает код ошибки 0, если
              поиск был успешным, 1 - если безуспешным, и
              2, если возникли ошибки.
 
Примеры:
    WHERE /?
    WHERE имя_файла1 имя_??????.*
    WHERE $windir:*.*
    WHERE /R c:\windows *.exe *.dll *.bat
    WHERE /Q ??.???
    WHERE "c:\windows;c:\windows\system32:*.dll"
    WHERE /F /T *.dll

Что-то подробнее в инете не думаю что найдется.

Добавлено через 1 час 3 минуты
Если вы хотите работать с excel как с приложением для манипуляции извне, то есть два пути:
1) использование COM интерфейса.
В python для этого используется библиотека pywin32
Python
1
2
3
import win32com.client
win32com.client Excel = win32com.client.Dispatch("Excel.Application")
... а здесь весь прочий код для управления Excel... для  знакомства читаем базу знаний microsoft по Excel.
В среде .NET для работы с Excel подключают библиотеку Microsoft.Office.Interop.Excel.
2) любые средства автоматизации нажатий клавиатуры и мыши.
1
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
16.03.2018, 20:50  [ТС]
Возможно ли программно снять галку в свойствах файла "только чтение"- то есть вручную - это : в папке лежит файл - выделяем его - правая кнопка мыши - свойства - там стоит галка "Только чтение" - мы кликом снимаем ее и жмем "ОК" - > как проделать это в питоне?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
16.03.2018, 20:59
На пример вот так
http://code.activestate.com/re... n-windows/
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.03.2018, 21:14
Python
1
os.popen('attrib -R 1.txt').close()
+ любые методы из subprocess.
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
16.03.2018, 21:21
Лучший ответ Сообщение было отмечено rar как решение

Решение

Или так
Python
1
2
3
4
5
6
7
8
9
10
11
import os
import stat
 
path = r'file'
old_mode = stat.S_IMODE(os.stat(path).st_mode)
 
os.chmod(path, stat.S_IWRITE | stat.S_IREAD)
 
# process file
 
os.chmod(path, old_mode)
1
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
16.03.2018, 21:30  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
os.popen('attrib -R 1.txt').close()
Запустил, вроде ошибок не было, но в свойствах галка "Только чтение" осталась..

Добавлено через 3 минуты
Цитата Сообщение от shsv Посмотреть сообщение
Или так
Блин, руки чтоли у меня кривые, галка упорно стоит...

Добавлено через 37 секунд
Думаю тут у меня какие то местные баги..

Добавлено через 4 минуты
Цитата Сообщение от rar Посмотреть сообщение
os.popen('attrib -R 1.txt').close()
я делаю так :
path_ - это путь (полный путь файла вместе с именем и расширением) - строковое значение, определяемое заранее

Python
1
os.popen('attrib -R'+path_).close()

Garry Galler

все верно написано?
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
16.03.2018, 21:31
Закоментируйте строку 11, если не сделали этого.
1
 Аватар для rar
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
16.03.2018, 21:39  [ТС]
shsv

Спасибо!
сейчас все сработало !

а зачем нужна строка 11 ?

Добавлено через 4 минуты
стало быть, вернуть исходное состояние? сделать "Только для чтения"?
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
16.03.2018, 21:42
Цитата Сообщение от rar Посмотреть сообщение
вернуть исходное состояние? сделать "Только для чтения"?
Да.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.03.2018, 21:53
Цитата Сообщение от rar Посмотреть сообщение
os.popen('attrib -R'+path_).close()
Вы пробел не поставили между путем и опцией. В итоге получилась каша -Rкакой_то_путь, которую система проигнорировала.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2018, 21:53
Помогаю со студенческими работами здесь

Как создать file.txt, открыть его, вписать строку, сохранить и закрыть в Python 3.2
Здравствуйте. В теме практически уже все сказано. Сейчас штудирую книгу Саммерфилд Python 3, подробное руководство. В ней есть такая строка...

Как заменить теги html и пересохранить документ?
Делаю выгрузку страницы в формате html-документа, вытащила от туда только середину, где находится сама статья (остальное стили и js мне не...

Открыть txt Flask
У меня есть бот для VK на Callback API. Мне нужно открыть txt файл в котором будет текст для отправки. Вот мой код: from flask...

Открыть txt файл в Excel и сохранить в xls формате
Здравствуйте! мне нужно данные из txt файла пересохранить в .xls формате. тем много, но конкретных шагов для ламера, что где кликнуть,...

Пересохранить xls файл
Всем привет! Есть xls файл, при открытии он выдает ошибку: "Формат файла отличается от формата, указанного в расширении имени...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru