我正在寻找一种方法在python中实现与unix cut
实用程序类似的功能。我知道我可以进行系统调用并以这种方式处理我的数据,但是我想使它更加“pythonic”,并使用python库进行处理。Python切割示例
示例文本
abcde:12345
我想划上:
并保持第二场:
cut -d':' -f2
产生:
12345
想法?
我正在寻找一种方法在python中实现与unix cut
实用程序类似的功能。我知道我可以进行系统调用并以这种方式处理我的数据,但是我想使它更加“pythonic”,并使用python库进行处理。Python切割示例
示例文本
abcde:12345
我想划上:
并保持第二场:
cut -d':' -f2
产生:
12345
想法?
你可以这样做:
string.split(":")[1]
其中字符串是文本
试试这个:
'abcde:12345'.split(':')[1]
我编辑了你的错字:) – Trufa 2011-05-03 01:01:29
@Trufa:谢谢。 – 2011-05-03 01:05:43
肯定的:
for line in open('data.txt'):
second_field = line.rstrip('\n').split(':')[1]
你可以使它更可配置的,甚至用optpar写你自己的se或argparse ...让我们更多地了解您想要做的事情。
如果只有2个字段,则该代码将包含换行符;最好在分割之前执行'line.rstrip('\ n')',即rstrip *。 – 2011-05-03 01:04:33
@John谢谢,如果它有不同种类的换行符,我还没有指定\ n – Henry 2011-05-03 01:14:04
它在文本模式下不能有不同形式的换行符。你已经删除了所有/任何尾随的空白,这是过度杀伤。如果这是需要的,它应该在每个感兴趣的领域完成。 – 2011-05-03 01:34:41
怎么样像'回声'abc:123:def:456'| cut -d':'-f1,3'?是否有可能从单个split()方法中获得字段1和3,即如何组合索引[1]和[3]? – 2013-05-15 12:01:29