Perl 转置CSV数据

Perl 转置CSV数据,perl,Perl,我一直在四处寻找,我可以看到如何将列转换为行,但不能将列转换为行 我正在努力实现以下目标: 输入数据 现场活动,MI报告大修14:30-15:30,03:00-09:00-0级分流器安装-SCS回路,03:00-09:00-1级分流器安装-SCS回路,0,0,。。。 促销活动,0,0,0,0,0,。。。 财政周,18,18,18,18,18,。。。 星期,31,31,31,31,31,。。。 日期,2016年7月31日,2016年8月1日,2016年8月2日,2016年8月3日,2016年8月4

我一直在四处寻找,我可以看到如何将列转换为行,但不能将列转换为行

我正在努力实现以下目标:

输入数据 现场活动,MI报告大修14:30-15:30,03:00-09:00-0级分流器安装-SCS回路,03:00-09:00-1级分流器安装-SCS回路,0,0,。。。 促销活动,0,0,0,0,0,。。。 财政周,18,18,18,18,18,。。。 星期,31,31,31,31,31,。。。 日期,2016年7月31日,2016年8月1日,2016年8月2日,2016年8月3日,2016年8月4日,。。。。。 这是一段输入数据,实际数据在x轴上有200多个字段

我试图实现的结果如下:

站点活动、促销活动、每周、每周、日期 MI报告大修14:30-15:30,0,18,31,31/07/2016 03:00-09:00-0级分流器安装-SCS回路,0,18,31,01/08/2016 03:00-09:00-一级分流器安装-SCS回路,0,18,31,02/08/2016 等等 我当前返回输入格式的代码如下:

!/usr/local/bin/perl 打开文件EDCNDC-Daily-Volume-Forecast_Ops Forecast by Shift.csv 或者死美元!;打开文件或返回抛出的错误$! 当{ 如果$.<4{ 打印 } elsif$.>8{ 打印 } elsif$\=~/^\,\,\,\,/{ 打印substr$\u4; } 否则{ 打印美元; } } 关闭文件 我必须将CSV转换为可用的格式,因此我限制返回的行。第8行和第11行使用strict; 使用“全部”警告; 使用特征“说”; 我的@data=map{ 咀嚼; [拆分/,/]; } ; 为了我的$i 0${$data[0]}{ 说join',',map{$\u->[$i]/}@data; } __资料__ 现场活动,MI报告大修14:30-15:30,03:00-09:00-0级分流器安装-SCS回路,03:00-09:00-1级分流器安装-SCS回路,0,0,。。。 促销活动,0,0,0,0,0,。。。 财政周,18,18,18,18,18,。。。 星期,31,31,31,31,31,。。。 日期,2016年7月31日,2016年8月1日,2016年8月2日,2016年8月3日,2016年8月4日,。。。。。 输出 站点活动、促销活动、财政周、周、日期 MI报告大修14:30-15:30,0,18,31,31/07/2016 03:00-09:00-0级分流器安装-SCS回路,0,18,31,01/08/2016 03:00-09:00-一级分流器安装-SCS回路,0,18,31,02/08/2016 0, 0, 18, 31, 03/08/2016 0, 0, 18, 31, 04/08/2016 ..., ..., ..., ..., .....
似乎是这篇文章的翻版,后来又是这篇文章的翻版。让我知道我是否遗漏了一些关键的差异…?啊,我一定错过了这些。我将快速阅读这2条。为了补充我的副本,我认为下面的解决方案更好。