每當我嘗試讀取.csv文件中的一行時,它將停止將該行視爲單行並將其存儲在多個數組中,應該只有一行。我看到的是當我讀取一個.csv文件時,它似乎包含一些回車/這些奇怪的方塊,當我在記事本中打開它。我想從文件中刪除這些字符,這樣我就可以正確讀取.csv而不會退出太早。我將如何去用perl腳本來做這件事。從excel中刪除換行或回車從perl
0
A
回答
1
您可以使用perl中的chomp()函數清理尾隨空白。您可以使用這樣的事情的Chomp所有尾隨空白,並用一個單一的換行符替換爲:
perl -ne 'while(chomp) { } print "$_\n";' filename.csv
+1
'-p'選項會自動打印,如果您想進行手動打印,請改用'-n'來避免混淆。或者做'$ _。=「\ n」;' – TLP
+0
正確!謝謝。 (編輯反映。) –
0
如果你想閱讀整個文件作爲一條線,只需禁用輸入記錄分隔符:
local $/;
my $file = <>;
也就是說,如果你想使用perl中的數據。如果你只是想改變其他程序使用的輸入文件,並且不關心換行/回車:
perl -pi.bak -we 's/[\r\n]+//g' input.csv
這將做input.csv
就地編輯和保存一個備份在input.csv.bak
。請注意,如果您運行此命令兩次,備份將被覆蓋,因此請在其他位置保存適當的備份。
我只會推薦這個,如果你知道這些符號不應該在那裏。
相關問題
- 1. 刪除換行符或回車
- 2. 如何從unix文件中刪除回車符和換行符
- 3. 刪除=從Excel行
- 4. 如何從CSV中刪除回車/換行 - 除了每行的結尾?
- 5. 從WMIC輸出中刪除回車
- 6. 從XML文件中刪除回車C#
- 7. 從文本文件中刪除回車
- 8. 換行或回車
- 9. Oracle nclob字段:刪除換行符(或回車)字符
- 10. 如何從shell腳本中的變量中刪除回車符和換行符
- 11. 刪除回車
- 12. 從環境變量中刪除回車 - XP命令行
- 13. 從txt文件中刪除空白行保留回車
- 14. 從網頁中刪除perl?
- 15. 從VBE中刪除Excel中的行
- 16. 如何從字符串中刪除回車符,但保留換行符?
- 17. 使用Powershell腳本從XML文件中刪除回車和換行
- 18. Java:如何從System.in.read中排除回車/換行
- 19. 使用OpenXML從Excel中刪除行
- 20. excel從行中刪除重複的值
- 21. 從jxl excel表中刪除行
- 22. 從excel表中刪除前n行
- 23. 從Excel中刪除行和圖像
- 24. Perl從匹配的字符串中刪除換行符
- 25. 如何刪除行中的回車
- 26. 刪除TABLESTYLE從Excel
- 27. 從excel中刪除MenuBar,ToolBar
- 28. 從Excel中刪除數字
- 29. 從excel中刪除記錄
- 30. 如何從字符串中刪除回車返回
如果沒有看到您遇到問題的.csv格式的示例並且確切地說是哪些字符導致Excel問題,則很難回答。有了這些信息,編寫perl腳本就很容易去除.csv中有問題的字符。 – fnokke
你如何「閱讀」文件?您是使用[Text :: CSV](http://search.cpan.org/dist/Text-CSV)還是[Text :: CSV_XS](http://search.cpan.org/dist/Text-CSV_XS) ? – runrig