Форум сайта python.su
0
Люди добрые, подскажите, на работе дали задание, а я не знаю как сделать на python.
Суть задания: есть 2 файла: маленький и большой. Большой имеет 100,000 значений с разделителем, в маленьком есть те же значения, но разделить другой.
Нужно
Дали подсказку: использовать хеш массивы, загнать первый файл маленький в хеш массив, потом читать каждую строчку и проверять нет ли этого значения в хеш массиве. Что на счет разделителей: когда ты считываешь значение из файла то сразу можно сплитать нужное. Выжал с мэнеджера все до капли, все подсказки. Добрые люди, помогите! В долгу не останусь!
Пример 1 файла:
domain0.com:email1@domain0.com
domain1.com:email2@domain1.com
.....
domain0.com,email1@domain0.com,test,tes2
domain1.com,email2@domain1.com,test2,tset3
....
Офлайн
0
если не известно в каком файле какой разделитель .
То достаточно прочитать первою строчку из файла и проверить какой разделитель используется
А дальше уже применять нужный разделитель.
Отредактировано (Фев. 28, 2011 18:31:12)
Офлайн
0
Дело в том, что я вообще новичок в этом деле и хотел бы поросить работающий код. А в плане разделителя, то его человек может задать в виде параметра.
Отредактировано (Фев. 28, 2011 18:33:28)
Офлайн
0
я не совсем понимая что нужно сделать. Но если нужно проверять каждую сроку на разделитель и делать split
то можно так.
Может кто умный придет и вам ответит я и сам новичок
filePuth = open(r'test_razd.txt')
for i in filePuth:
if ':' in i:
i = i.split(':')
print i
elif ',' in i:
i = i.split(',')
print i
Офлайн
72
Описание файлов вижу, подсказку вижу, сделать то что нужно?
Офлайн
0
PooHНужно во время чтения болльшого файла походу проверять наличие каждой строки в маленьком файле.
Описание файлов вижу, подсказку вижу, сделать то что нужно?
Офлайн
14
Обожаю любителей халявы!
Офлайн
0
Андрей СветловЛюди, простите, просто по работе задали… Я на баше могу Вам практически что угодно написать!
Обожаю любителей халявы!
Офлайн
13
Ну напишите на баше. А мы хоть поймем чего нужно.
Офлайн
0
Я попробую изобразить..
1файл = путь к 1ому файлу (полный список +разделитель между значениями “:”)
2файл = путь к 2ому файлу (не полный + разделитель между значениями “,”)
читаем 2 файл -> Берем 1строку с 2файл -> Ищем в 1файл -> Находим, запомнаем номер строки в 1файл -> Берем 2строку с 2файл -> Ищем в 1файл, начиная со строки, которую запомнили -> и так далее…
Офлайн