를 사용하여 CSV 파일의 열로 저장 I는 파일 내용이 처음에 공간으로 구분 기호를 가진 텍스트 파일이 있습니다. 그 모양은 다음과 같습니다.는 텍스트 파일의 각 라인을 읽고 펄
- 첫 줄에는 처음부터 공백이 없습니다.
- 두 번째 줄에는 2 개의 공백이 있습니다.
- 세 번째 줄에는 처음에 4 칸이 있습니다.
- 네 번째 줄에는 처음에 여백이 6 개 있습니다.
이 패턴은 텍스트 파일 (예 : 아래)과 같이 임의의 방식으로 파일 끝까지 반복됩니다.
- 첫 번째 열에 공백이없는 :
나는 텍스트 파일에서 이러한 라인을 읽고 패턴으로 라인을 저장할.
- 두 번째 열에 2 개의 공백이 있습니다.
- 세 번째 열에 4 칸.
- CSV 파일의 네 번째 열에 여섯 개의 공백이 있습니다.
텍스트 파일 구조 (#으로 공간을 나타내는)된다
ABC
##EFG"123"
####<HIJK> 22: test file
######LMNOP "Test"
######sssstt"123"
QRS
##TU"223"
####<www> 32: test2 file
######yz test1
####<www> 88: test3 file
######rreeeww
######oooiiiii
##PP
##ss
####<qqq> 89: test6 file
######hhhhggg
######bbbbaaa
######cccczzz
######uu test3
예상 출력 이미지 :
내가 파일을 열고 읽는 방법을 알고, 펄에 새로운 오전 선을 통과하지만 CSV 열에 이러한 종류의 구조를 저장하는 방법을 이해하지 못합니다.
my $file = 'C:\\outputfile.txt';
open(my $fh, '<:encoding(UTF-8)', $file) or die "Could not open file '$file' $!";
while (my $row = <$fh>) { # reading each row till end of file
chomp $row;
//what should be done here ?
}
도와주세요. 그래, 내가 대답 할 수 있지만,이 좋은 또는 Perl 코드의 좋은 예되지 않습니다 : 당신이 코드에 대한 질문이있을 경우
이미지를 제공하는 대신 예제 파일을 질문에 복사하십시오. 도움을 청하는 누군가 테스트를 위해 그것을 사용할 수 있습니다. –
동일한 수의 공백으로 시작하는 줄이 여러 개인 경우 어떻게해야하는지 설명하지 않습니다. 게시 한 입력 내용에 필요한 출력을 표시하는 것이 좋습니다. – Borodin
@ 보 로딘 흠, 질문을 읽어주세요. 저자는 그의 파일에서 더블 스페이스 - 구분자가 있다고 말했다. – gaussblurinc