2010-07-22 79 views
1

我有一個水平名稱的列表太長,無法在Excel中打開。它長達9萬個名字。我需要在每個名字後面添加一個逗號以放入我的程序中。我試過查找/替換,但它凍結了我的電腦和崩潰。有沒有一個聰明的方法,我可以在每個名字的末尾加逗號?我的選擇是python和excel,謝謝。如何有效地將逗號添加到列表的末尾?

+1

姓名是如何分開的?我寫了一個小程序來生成這樣的文件,並嘗試使用Emacs進行搜索/替換。工作得很好,沒有任何問題。 – 2010-07-22 16:36:00

+1

你打算向我們提供一個這種數據的例子嗎? – 2010-07-22 16:36:34

+1

添加你的代碼和你想要的功能應該採取什麼樣的數據並返回 – 2010-07-22 16:38:21

回答

5

如果你確實有一個Python列表,說names,然後','.join(names)將使與每名之間用逗號下一個字符串(如果你需要一個在結束爲好,只是使用+ ','追加一個更逗號結果)。

即使你說你有一個「列表」,我懷疑你實際上有一個字符串而不是,例如在一個文件中,名稱之間用...分開?你不告訴我們,因此迫使我們猜測。舉例來說,如果他們通過線端(每行一個名稱)分開,你的生活是最簡單的:

with open('yourfile.txt') as f: 
    result = ','.join(f) 

(再次,補充本與後一個+ ','加入,如果你需要,當然) 。這是因爲,當然,按行結尾分隔是文本文件的正常默認行爲。

如果分隔符是不同的,你必須以字符串的形式讀取文件的內容(使用f.read())並適當地分割它,然後用逗號重新加入。

例如,如果分隔符是一個製表符:

with open('yourfile.txt') as f: 
    result = ','.join(f.read().split('\t')) 

正如你看到的,這不是差這麼多;-)。

+0

我的猜測是它的空間或製表符分隔。僅僅因爲他說:「水平列表」 – Armstrongest 2010-07-22 16:38:58

+0

是的,它剛剛被空格分隔 – 2010-07-22 17:32:17

+1

@Robert,然後按空格拆分(或者,如果用「空格」表示「任意空格」,而不用參數調用拆分,這將拆分字符串由任意序列的空格 - 空格,製表符等)。 – 2010-07-22 17:54:28

相關問題