导入前修改csv文件

时间:2010-12-29 23:12:59

标签: regex perl drupal csv import

我有一个包含“位置”字段的csv文件。我需要使用节点导入将此字段导入Drupal,但我必须将地址字段导入到不同的字段中。一个用于“邮政编码”,另一个用于“街道”等。

“location”字段包含带有“|”的整个地址中间的分隔符 - 像这样:“街道街道没有|邮政编码城市”

在导入之前,如何最好地更改csv文件?我只有PHP的经验,我不太了解perl或python脚本,但我有一种预感,最好编写一个可以解析csv文件并将“location”字段更改为新字段的脚本

那是对的吗?我会很感激有关我应该从哪里开始的一些建议 - 非常感谢

1 个答案:

答案 0 :(得分:0)

您没有举例说明。如果你不了解Perl,你可能会遇到麻烦 一般来说,CPAN上有很好的Csv模块,这可能需要识别嵌入式 字段内的字段分隔符字符串。否则,逐行读入文件,
修改该行,然后将其写入新文件。这样的东西(未经测试)..

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;