Python » Страница 970

-

Программирование на Python



dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#9691

Дай начальный вариант, образец, как есть, с тегами. Мож сразу регуляркой повырезаем как надо...

Zaterehniy


репутация: 703
на сайте с 2006 года
сообщений: 2504

Google Pixel 7a

Ставрополь

Возраст - 37

#9692

меня интересует алгоритм действий. все равно делать буду не на питоне.
-------------
добавлено в 22.43: я в принципе могу сделать. как удобнее и проще ищу вариант.

Dima0072009


репутация:
на сайте с 1970 года
сообщений:

#9693

Привет всем. Есть необходимость прочитать данные из csv файла и перенести в другой csv файл выполнив замену некоторых столбцов места и почистив информацию в некоторых столбцах. Реализовать необходимо на питоне. Что можете посоветовать и есть ли у кого наработки в этом направлении?

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#9695

Фух, 3 дня пьянствовал((. Женя, так ведь регулярки есть везде практически.

# -*- coding: utf-8 -*-
import re
text = '''3864011415918541194Wooden Theme6
3864001415903404194Se7en Green7
3863981415886425194Aero Theme by Avar, Shocker1
3863991415822569194Devil Red1
3861361415094390159ДругВокруг122
3863971398010527194DARK II1
2457141394621981187N82smart240
3863961387170727194Nebu HD_ADELiNO0
3725941384191772199CameraPro105
1194713811539182Slick16'''
lst = [re.match(r'(\d+)([^\d].+)', t).groups() for t in text.split('\n')]

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

Dima0072009


репутация:
на сайте с 1970 года
сообщений:

#9696

Еще раз всем привет. Считываю файл csv и получаю список строк следующего вида

[['1;Запчасти\\(Нозлы);Нозл IN-0701 Element;300.000000;0.000000;0.000000;0.000000;1.000000;;;;;0'],
['495;Запчасти\\(Нозлы);Нозл IN-0706 Element;300.000000;0.000000;0.000000;0.000000;3.000000;;97.000000;;;706']]

как это чудо в список списков?

Dima0072009


репутация:
на сайте с 1970 года
сообщений:

#9698

nur87,
Вот код которым читаю csv


import csv
import pprint

infile = open('1285.csv', 'r')
table = []

for row in csv.reader(infile):
table.append(row)
infile.close()

pprint.pprint(table)

по ссылке доступен файл csv с которым работаю Файл csv
-------------
добавлено в 14.26: Разобрался что делал не так. Вот пример правильного кода.
import csv
import pprint

table = []

with open('1285.csv', 'rb') as f:
reader = csv.reader(f, delimiter=';')
for row in reader:
table.append(row)

pprint.pprint(table)


Осталось только теперь правильно его записать в csv.

Dima0072009


репутация:
на сайте с 1970 года
сообщений:

#9699

Запись производится следующим кодом

result = open('1286.csv', 'w')
writer=csv.writer(result, dialect='excel', delimiter=';', lineterminator='\n')
for row in table:
writer.writerow(row)

при такой записи, данные записываются как в исходном файле.
-------------
добавлено в 20.10: Запись производится следующим образом
result = open('1286.csv', 'w')
writer=csv.writer(result, dialect='excel', delimiter=';', lineterminator='\n')
for row in table:
writer.writerow(row)

При записи с такими параметрами, данные записываются как и в исходном файле

kule


репутация:
на сайте с 1970 года
сообщений:

#9700

ну питон применяется во многих местах. хотя я перешел уже на си. причем давно


Яндекс.Метрика