gpt4 book ai didi

Perl 创建 CSV 文件

转载 作者:行者123 更新时间:2023-12-04 18:14:13 26 4
gpt4 key购买 nike

我正在尝试创建一个 CSV 文件,该文件读取 CSV 文件,然后以以下格式输出数据:

Type: ABC
A: Hello
B: World
C: Test-Data, Testing
Type: ABC
A: Hello
B: World
C: Test-Data, Testing
输入数据看起来像这样
0: "ABC", "Hello", "World", "Test-Data, Testing"
1: "ABC", "Hello", "World", "Test-Data, Testing"
我从阅读 Text:CSV 开始然后创建
use strict;
use warnings;
use Text::CSV;

my $file = 'file.csv';

my $csv = Text::CSV->new ({ binary => 1, eol => $/});

open my $input, "<", $file or die "$file: $!";

while (my $row = $csv->getline ($input){
next if ($. == 1);
if ($csv->parse($_))
{
print "variable: $_";
my @columns = $csv->fields();
print "Type: $columns[0]\n\t A: $columns[1]\n\t B:$columns[2] \n\t C:$columns[3]";
}
else
{
my $error = $csv->error_diag;
print "Failed to parse line: $error";
}
}
虽然它似乎不起作用,但我认为它会在 file.csv 中读取到 $file,然后使用 getline 循环 while 循环以读取文件的每一行。
我在这里想念什么?我想知道是否有人可以提供帮助;我试图包含尽可能多的信息。

最佳答案

您的错误是尝试解析已解析的行:

while (my $row = $csv->getline ($input){    # your row is now in $row
....
if ($csv->parse($_)) # Wrong! This is already done with getline()

只需删除 if/else 中的错误代码即可条款和使用
my @columns = @$row;

而且您的打印声明应该可以正常工作。

关于Perl 创建 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12041245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com