У меня вопрос лучше сказать, как думать о лучшем решении этой проблемы. Мой файл CSV выглядит следующим образом:Python regex on csv file
,02/12/2013,03/12/2013,04/12/2013,05/12/2013,06/12/2013,07/12/2013,08/12/2013,
06:00,"06:00 World Sport","06:00 World Sport","06:00 World Sport","06:00 World Sport","06:00 World Sport","06:00 World Sport","06:00 World Sport",06:00
,,,,,,,,
06:15,,,,,,,,06:15
,,,,,,,,
06:30,"06:30 Inside Africa: November 29, 2013","06:30 African Voices: Agatha Achindu","06:30 Inside the Louvre","06:30 Talk Asia: Franz Harary","06:30 Blueprint","06:30 Inside the Middle East","06:30 CNNGo",06:30
Хорошо, что мне нужно сделать это, компилировать даты в диапазоне от 1 до сколько в одном листе, и поставить дату в каждой строке перед началом перед запятая как в этом примере:
02/12/2013, "06:00 World Sport", 03/12/2013 "06:00 World Sport", 04/12/2013 "06:00 World of Sport"...
02/12/2013, "06:30 Inside Africa: November 23,2013", 03/12/2013, "06:30 African Voices.."
И мой исходный код был так:
попробовать:
for line in fileinput.input(fnames):
if re.search(r'\d{2}/\d{2}/\d{4}.*',line):
line_date = re.findall(r'\d{2}/\d{2}/\d{4}',line)[0]
output.write(line_date+'\n')
if re.search(r'\".+?\"',line):
line_sadrzaj = re.findall(r'\".+?\"',line)[0]
output.write(line_sadrzaj+'\n')
output.close()
У вас есть и лучшая идея для этой проблемы.
Может быть так:
for line in fileinput.input(fnames):
if re.search(r'\d{2}/\d{2}/\d{4}.*',line):
line_date = re.findall(r'\d{2}/\d{2}/\d{4}.*',line)[0]
line_split = re.split(r'\,',line_date)
for line1 in line_split:
var = line1
output.write(var+'\n')
if re.search(r'\".+?\".*',line):
line_sadrzaj = re.findall(r'\".+?\".*',line)[0]
line_split1 = re.split (r'\,',line_sadrzaj)
for line2 in line_split1:
var2 = line2
output.write(var2+'\n')
#output.write(line_sadrzaj+'\n'
насчет расщепляется комы? –
Да, я сделал код прямо сейчас, плохо обновляю сообщение –
Как я могу присоединиться к первой дате и первому событию в одной строке, это проблема. :) –