2010-07-22 58 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

相关问题