【问题标题】:modify csv file before import导入前修改csv文件
【发布时间】:2010-12-29 23:12:59
【问题描述】:

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

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

在导入之前如何最好地更改 csv 文件?我只有php的经验,对perl或python脚本了解不多,但我有一种预感,最好写一个能解析csv文件并将“位置”字段改成新字段的脚本.

这样说对吗?对于我应该从哪里开始的一些建议,我将不胜感激 - 非常感谢

【问题讨论】:

  • 您能否向我们展示 CSV 文件的摘录并告诉我们您想要的格式?

标签: regex perl drupal csv import


【解决方案1】:

您没有给出示例行。如果您不了解 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;

【讨论】:

    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    相关资源
    最近更新 更多