изменить файл CSV перед импортом - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть CSV-файл, который содержит поле «местоположение».Мне нужно импортировать это поле в Drupal с помощью импорта узлов, но я должен импортировать поле адреса в разные поля.Один для «почтового индекса», другой для «улицы» и т. Д.

Поле «location» содержит полный адрес с символом '|'разделитель между ними - как это: "улица улица нет | почтовый индекс город"

Как лучше всего изменить файл CSV, прежде чем импортировать его?У меня есть только опыт работы с php, и я не очень разбираюсь в скриптах на perl или python, но у меня есть догадка, что было бы лучше написать скрипт, который может анализировать файл csv и изменять поле «location» на новые поля.

Это правильно?Я был бы благодарен за некоторые предложения относительно того, с чего мне начать - большое спасибо

1 Ответ

0 голосов
/ 30 декабря 2010

Вы не приводите пример строки. У вас могут возникнуть проблемы, если вы не знаете Perl.
В общем, на CPAN есть хорошие Csv-модули, это может понадобиться для распознавания встроенных
разделитель поля char (s) внутри самого поля. В противном случае читайте в файле построчно,
измените строку, затем запишите ее в новый файл. Как то так (не проверено) ..

use strict;
use warnings;

open my $infile,  '<', 'filein.csv'  or die "error opening infile $!";
open my $outfile, '>', 'fileout.csv' or die "error opening outfile $!";

while (<$infile>) {
   my @fields = split /,|\|/, $_;
   print $outfile join(',', @fields), "\n";
}
close $outfile;
close $infile;
...