Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在编写CSV文档时使用NewLine

在编写CSV文档时使用NewLine
EN

Stack Overflow用户
提问于 2016-08-19 16:00:36
回答 1查看 1.2K关注 0票数 0

我正在尝试将perl脚本计算出的数据写入到csv文件中,该文件将被反复打开和输入。我遇到了两个问题。首先,CSV创建了单行的ocupies,将每个新字段添加到新列中。第二个问题是CSV文件一旦创建就没有成功关闭,所以我无法通过再次运行脚本来重新打开和编辑它。我使用的代码是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
push my @rows, ["Entries Missing from English doc:"," " , "Entries Missing  from French doc:"];
push @rows, ["$englishUnincluded[0]", " ", "$frenchUnincluded[0]"];
my $csv = Text::CSV->new ({binary=>1}) or die "cannot use CSV: ".Text::CSV->error_diag ();
open my $csvFile, ">:encoding(utf8)", "telt.csv" or die "telt.csv: $!";
$csv->column_names(@{$rows[0]});
$csv->print($csvFile, $_) for @rows;
close $csvFile or die "teet.csv: didnt close at all";

我还尝试使用连续的打印语句,而不是以前的$csv->print(..) for @rows;语句,如下所示

$field_vals = ["$val", "something", " "]; $csv->print($csvFile, $field_vals);,并将所有值重新加载到字段中,并将它们作为行打印到CSV,但连续出现相同的两个问题。

**请注意,如果只打印一行,则CSV未关闭问题将消失。此外,脚本不会在未正确关闭文件时打印"or die“消息。

提前感谢您提供的任何帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-08-19 16:22:11

您忘了声明行尾:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
my $csv = Text::CSV->new ({binary=>1, eol => $/}) or die "cannot use CSV: ".Text::CSV->error_diag ();
#                           here __^^^^^^^^^^^^
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39043372

复制
相关文章

相似问题

向VBA/VB6集合添加项时出错

41

编译基板添加托盘失败

17

用托盘添加apt回购

16

在基板上添加托盘

111

为自定义托盘基板添加自定义RPC时出错

215
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文