Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2012 13:54:27

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Оптимизация

FishHook, ТС хотя бы не просто попросил готовое решение, а показал свою наработку. Да, кривую до идиотизма, но рабочую. Думаю, что это не совсем тот случай.

Вот если бы он написал что-то типа "Срочно все помогите найти шестую запятую в строке! А ну бегом!"...



Офлайн

#2 Ноя. 9, 2012 14:16:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Оптимизация

ZZZ, да я ТСа обижать вовсе не хотел, это было адресовано одночлену.



Офлайн

#3 Ноя. 9, 2012 14:34:03

MayakOV
Зарегистрирован: 2012-09-27
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Оптимизация

Ох, ох…. Не надо было в пятницу этот вопрос задавать.
Я начинаю себя чувствовать троллем.
Поэтому разрешите подвести итог:
Стандартный метод отсутствует - нужна функция.
В качесте самооправдания позволтье объяснится.
Я не студент, уже очень давно не студент.
Весь зоопарк ПО и возникшую из за этого причину быстрой обработки таблицы в формате DELIMITED объяснять здесь считаю неинтересной.
Всем спасибо, вопрос исчерпан.
P.S.:
вот сам корявый скрипт написанный за 5 минут.

fl=open("v:\\СПН\\Itog\\22222222.TXT")
fln=open("v:\\СПН\\Itog\\22222222.new",'w')
for l in fl.readlines():
ch1=l.find(',"',l.find(',"',l.find(',"',l.find(',"',l.find(',"',l.find(',"')+1)+1)+1)+1)+1)
ch1e=l.find(',"',ch1+1)
ch2=l.find(',"',l.find(',"',l.find(',"',l.find(',"',ch1+1)+1)+1)+1)
ch2e=l.find(',"',ch2+1)
fln.write(l.replace(l[ch1+1:ch1e],l[ch1+2:ch1e-1]).replace(l[ch2+1:ch2e],l[ch2+2:ch2e-1]))
fl.close()
fln.close()
Еще раз всем спасибо.

Отредактировано MayakOV (Ноя. 9, 2012 14:34:49)

Офлайн

#4 Ноя. 9, 2012 14:50:24

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

Оптимизация

люди скажите, вот мне щас 14 лет . если я буду только самостоятельно учить программирование
с помощью гугла и таких людей как вы. , то меня годам к 20-ти кто нибудь работать возьмёт? с приличной зарплатой?

или нужно какой нибудь институт закончить и диплом получить (ну или купить этот диплом)

Отредактировано pellon (Ноя. 9, 2012 14:51:59)

Офлайн

#5 Ноя. 9, 2012 15:00:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Оптимизация

pellon
люди скажите, вот мне щас 14 лет . если я буду только самостоятельно учить программированиес помощью гугла и таких людей как вы. , то меня годам к 20-ти кто нибудь работать возьмёт? с приличной зарплатой?или нужно какой нибудь институт закончить и диплом получить (ну или купить этот диплом)
Никто Вас не будит судить за Ваше незнание предмета. Наоборот, если у Вас есть желание развиваться и самосовершенствоваться, Вам будут помогать.
Чего не надо делать:
Задавать вопросы, ответы на которые ищутся в гугле за 0-10 минут.
Что надо делать:
Читать литературу и пытаться ее осмыслить.



Офлайн

#6 Ноя. 9, 2012 15:03:15

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Оптимизация

Вот пример вопроса, на который не хочется отвечать

pellon
“кроссплатформенный” это что значит??
Вы не умеете пользоваться поиском?



Офлайн

#7 Ноя. 9, 2012 15:03:20

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

Оптимизация

литературу я читаю…. (QT в данный момент)

Офлайн

#8 Ноя. 9, 2012 15:14:13

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Оптимизация

MayakOV
из за этого причину быстрой обработки таблицы в формате DELIMITED объяснять здесь считаю неинтересной.
Зря, предложили бы более эффективное и надежное решение.
http://docs.python.org/2/library/csv.html
# -*- coding: utf-8 -*-
import csv
 
with open("in.txt", "rb") as fin, open("out.txt", "wb") as fout:
    reader = csv.reader(fin, delimiter=",")
    writer = csv.writer(fout, delimiter=",")
    for row in reader:
        # дальше не понимаю что на что меняется
        el1 = row[6]
        el2 = row[4]
        #...
        # записываем
        writer.writerow(row)

Офлайн

#9 Ноя. 9, 2012 15:16:38

MayakOV
Зарегистрирован: 2012-09-27
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Оптимизация

Если бы не цейтнот сделал бы так:

fl=open("v:\\СПН\\Itog\\22222222.TXT")
fln=open("v:\\СПН\\Itog\\22222222.new",'w')
for l in fl.readlines():
fln.write(l.replace(l.split(',')[6],l.split(',')[6][1:7]).replace(l.split(',')[10],l.split(',')[10][1:13]))
fl.close()
fln.close()

Офлайн

#10 Ноя. 9, 2012 15:19:24

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Оптимизация

ZZZ, есть куча способов сдать и нифига не знать. Самый простой - если что-то сдают группой, пусть за тебя делают другие. В голове остается пустота несмотря на самый жесткий контроль, проверено.

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

FishHook, бывают люди, особенно в рашке и СНГ, которым положено сдать программирование, а зачем - хз. Обычно почему-то си.

FishHook
Но почему подобные ТС господа решили, что квалифицированное решение проблем лоботряса посредством форумного сообщества должно быть бесплатным?
В чем отличие от остальных тредов?

FishHook
квалифицированное решение
Ай лолд. Тут такие квалифицированые решения дают, что их сами говнокодом назвать можно, вроде однострочников сорга из соседней темы.

Если уже хотите цепляться и хранить “честь муднира” - давайте удочку, а не рыбу, т.е. показывайте, как искать решение проблемы.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version