Форум сайта python.su
Вы читаете в файле с помощью xlrd, а затем копируете его в рабочую книгу xlwt с помощью xlutils.copy.copy().
Обратите внимание, что вам нужно будет установить библиотеки xlrd и xlutils.
Отметим также, что не все копируется. Например, изображения и настройки печати не копируются, и их необходимо сбросить.
from xlrd import open_workbook from xlutils.copy import copy import os # Эти две функции просто устанавливают предыдущий стиль ячейки, скоммуниздил их где-то в интернете def setOutCell(outSheet, col, row, value): previousCell = _getOutCell(outSheet, col, row) outSheet.write(row, col, value) if previousCell: newCell = _getOutCell(outSheet, col, row) if newCell: newCell.xf_idx = previousCell.xf_idx def _getOutCell(outSheet, colIndex, rowIndex): row = outSheet._Worksheet__rows.get(rowIndex) if not row: return None cell = row._Row__cells.get(colIndex) return cell book = open_workbook("Мой загружаемый файл.xls", formatting_info=True) sheet = book.sheet_by_index(0) items = sheet.nrows - 37 wb = copy(book) #тут 'перехожу в режим' редактирования, оно и не копирует область печати s = wb.get_sheet(0) setOutCell(s, 17, 26 + items, 'Тут что-то меняю') setOutCell(s, 17, 30 + items, 'И тут') setOutCell(s, 11, 34 + items, 'И тут') setOutCell(s, 31, 26 + items, 'И тут тоже') setOutCell(s, 29, 28 + items, 'Само собой тут тоже') wb.save("Test.xls") #Создание и сохранение нового файла os.startfile("Test.xls", "print") # Вывод печати на принтер
async def some_handler(request: web.Request, data: Any) -> Any:
async def some_handler_1(data: dict) -> int: # ... return some_data async def some_handler_2(storage: StorageClass, data: List[int]) -> dict: # ... return some_data async def some_handler_3( data: Union[dict, List[str]], logger: LoggerClass, request: web.Request ) -> str: # ... return some_data
from django.urls import path from . import views from django.conf.urls import url urlpatterns = [ path( '', views.TestingView.as_view(), name='test'), #path( '<int:pk>', views.TestingDetailView.as_view(), name='test-detail'), url(r'^(?P<pk>\d+)$', views.TestingDetailView.as_view(), name='test-detail'), url(r'^answer/(?P<pk>\d+)$', views.TestingDetailView.as_view(), name='answer'),
rom django.db import models # Create your models here. class Testing(models.Model): test_name = models.CharField('Название теста', max_length=254) def __str__(self): return self.test_name class Meta: verbose_name = "Тест" verbose_name_plural = "Тесты" class Questions(models.Model): question = models.CharField('Вопрос', max_length=254) id_testing = models.ForeignKey(Testing, on_delete=models.CASCADE, verbose_name='Тест', blank=True, null=True, related_name='quest_testing' ) def __str__(self): return self.question class Meta: verbose_name = "Вопрос" verbose_name_plural = "Вопросы" class Answer(models.Model): text_questions = models.TextField('Текст ответа') id_questions = models.ForeignKey(Questions, on_delete=models.CASCADE, verbose_name='Вопрос', blank=True, null=True, related_name='answer_quest') correct_answer = models.BooleanField(default=False) def __str__(self): return self.text_questions class Meta: verbose_name = "Ответ" verbose_name_plural = "Ответы"
from django.template.context_processors import csrf from django.shortcuts import render, redirect # Create your views here. # получение данных из бд from django.views import generic from django.views.generic.base import View from django.views.generic import DetailView from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from .models import Testing, Questions, Answer #Список тестов class TestingView(View): def get(self, request): test = Testing.objects.all() return render(request, "testing/index.html", {"tests": test}) #Вопросы и ответы class TestingDetailView(DetailView, View): model = Testing template_name = 'testing/detail_view.html' context_object_name = 'testing'
<h2>{{ testing.test_name }}</h2> {% for answer in testing.quest_testing.all %}<br><br> <b>{{ answer.question }}</b> / {{ answer.id }} <br> {% for answers in answer.answer_quest.all %} <form method="POST"> {% csrf_token %} <input type="radio" id="id_{{ answers.id }}" type="radio" value="{{ answers.correct_answer }}" name="radio_{{ answer.id }}" /> {{ answers.text_questions }} <b>({{ answers.correct_answer }} / {{ answers.id }})</b><br> {% endfor %} {% endfor %} <br><br><button type="submit" class="btn badge-primary"> Ответить </button> </form> {% endblock %}
def get_readonly_fields(self, request, obj=None):
all_fields = list(self.get_fields(request, obj))
user_blocked_fields = all_fields[:]
iskom = 'Самовывоз'
naxodim = Articles.objects.filter(delivery_type__title__icontains=iskom)
if request.user.has_perm('excels.can_edit_manager_group'):
user_blocked_fields = [f for f in user_blocked_fields if f not in self.manager_group_fields]
if request.user.has_perm('excels.can_edit_upakovka_group'):
user_blocked_fields = [f for f in user_blocked_fields if f not in self.upakovka_group_fields]
if request.user.has_perm('excels.can_edit_transport_group'):
user_blocked_fields = [f for f in user_blocked_fields if f not in self.transport_group_fields]
# if request.user.has_perm('excels.can_edit_manager_group') and naxodim:
# user_blocked_fields = [f for f in user_blocked_fields if f not in self.manager_and_transport_group_fields]
#
# if request.user.has_perm('excels.can_edit_transport_group') and naxodim:
# user_blocked_fields = [f for f in user_blocked_fields if f not in self.transport_minus_all_group_fields]
return user_blocked_fields
def edit_xlsx(): global ns, wb_new, document wb_new.save("word-to-excel_temp.xlsx") max_row = 0 wb_new.create_sheet(index=2,title="FullFill Sheet") ns_new = wb_new['FullFill Sheet'] wb_new.save('word-to-excel.xlsx') column_max = ns.max_column row_max = ns.max_row for i in range(1, column_max+1, 1): for n in range(1, row_max +1, 1): new_row = max_row + n d = ns.cell(row=n, column=i) g = ns.cell(row=n + 1, column=i) if d.value != None: if g.value == None and n <= row_max and i <= column_max: g.value = d.value new_d = ns_new.cell(row=new_row, column=i) new_d.value = d.value wb_new.save('word-to-excel.xlsx')
import re import googletrans from googletrans import Translator translator = Translator() eng_file=open("file.txt", "r") line_en=eng_file.readline() while line_en: line_en=re.sub(r'<[^<]+>', "",line_en) result = translator.translate(line_en.strip(),src='en',dest='ru') print(result.text) line_en=eng_file.readline() eng.file.close()
<string name="login_OK">Login successful!</string>
<string name="login_wrong_pin">Wrong PIN!</string>
<string name="login_already_logged">Already logged in on: </string>
<string name="login_code_error">Server error!</string>
<string name="login_licence">Licence problem!</string>
<string name="logout_Selected">Logout selected</string>
<string name="logout_All">Logout all</string>
<string name="submit_all">Submit for all</string>
TEXT = torchtext.data.Field(sequential=True, tokenize=lambda x: x.split(' '), pad_token='<pad>', unk_token='<unk>') LABEL = torchtext.data.LabelField(sequential=False, unk_token=None, is_target=True) datafields = [('text', TEXT), ('label', LABEL)] data = read_data(train, datafields, label_column='category_id') valid, trainn = data.split([0.1, 0.9]) TEXT.build_vocab(trainn, max_size=50000) LABEL.build_vocab(trainn) model = CBoWTextClassifier2(TEXT, LABEL, emb_dim=128) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model.to(device) train_iterator = torchtext.data.BucketIterator( trainn, device=device, batch_size=256, sort_key=lambda x: len(x.text), shuffle = True, repeat=False, train=True) valid_iterator = torchtext.data.Iterator( valid, device=device, batch_size=256, repeat=False, train=False, sort=False)
datafields = [('text', TEXT)] data = read_data(test, datafields) test_iterator = torchtext.data.Iterator( data, # device='cpu', batch_size=1, repeat=False, train=False, sort=False)