2012-05-02 63 views
-1

所以我有一些電子表格需要逐行排列並格式化(意思是刪除一些列,將某些值更改爲其他內容等),我想知道用哪種語言來完成此任務。我馬上就想到perl,因爲它的正則表達式,但是我不得不用Perl編程已經有相當長的一段時間了。 C,另一方面,我更舒適,我想我可以在沒有perl的正則表達式的情況下進行管理。我做了一些Google搜索,看到兩者都有使用excel文件的方法(特別是.CSV文件更容易,我相信我可以訪問這些文件),但我想知道哪個更容易實現。用Perl或c解析電子表格會更好嗎?

+0

@KeithNicholas:小心解釋?我看到它的方式,我要求我假設曾經與兩個(或至少一個)合作過的人提供幫助,根據他們的經驗來看哪一個更容易實施,所以我可以節省時間並完成我的任務更快。有什麼可怕的嗎? –

+0

我們試圖阻止主觀性問題,因爲它們[臭名昭着地難以做好](http://blog.stackoverflow.com/2010/09/good-subjective-bad-subjective/)。你最特別的問題最好用你最熟悉的語言來回答。另外,唯一能夠爲你明確回答這個問題的人是那些與你具有相似編碼技能的人,並且具有在C和Perl中解析電子表格的經驗。所以,沒有人能真正回答這個問題,因爲我懷疑這個人存在。直到你嘗試自己。原型總是好的...... – Will

回答

2

這種問題總會歸結爲個人偏好。話雖如此,並且知道Perl和C,我會選擇Perl,因爲我也熟悉Perl的OO實現 - 上次我看上去C沒有。但是,Perl的正則表達式引擎是用C語言編寫的,所以(就像我告訴過許多C核心開發人員),您可能只需將它引入C程序即可。我從來沒有真的嘗試過,因爲,正如我所說,我知道Perl。總的來說,在Perl中使用excel文件有很多很好的例子,你最終可能會寫更少的代碼。

最後一點,你是考慮過Java(Apache POI)還是使用VBA宏?

+0

不幸的是,我所教的只有兩種語言是C和perl,但似乎每個人都推薦使用前者,所以我想這就是我要去的。時間刷牙! –

+2

也許是時候學習一門你沒有教過的語言了。不要只限於別人教你什麼。 –

1

Perl對正則表達式有很強的支持,這意味着你可以用更少的工作來解析更多的東西。與我一起工作的顧問之一稱其爲C內置正則表達式支持。

我建議你在Perl上獲得一本或多本好書,特別是一本食譜風格的書。 O'Reilly過去把所有的Perl文檔都放在媒體上,所以你可以在編碼的時候查看一些東西。即使你有期限,使用Perl的論點仍然很強,你可以在Perl中完成很多,因爲在C中編寫解析需要時間。

我不知道Perl是否會直接處理.xls文件或文件需要.csv。大多數情況下,對於Clojure和Python,我處理.csv文件。無論哪種方式,我都會使用Perl。

祝你好運。

+0

正如它發生的那樣,我從去年開始就有一本Learning Perl第5版;好東西,我沒有把它扔掉,一旦我完成了我的perl課程! –

+0

Perl擁有Spreadsheet :: ParseExcel和Spreadsheet :: WriteExcel,這兩者我都在Windows和Linux上使用,並在Excel 2003及更低版本上取得了巨大成功。我還沒有用更高版本的Excel來試用它們,但如果沒有支持它們,我會感到驚訝。 –

相關問題