[英]Splitting strings in an array in python
我有一個由兩列和幾行組成的數組。 在第一列中,有一些我想拆分的字符串。 這些元素的格式為(* .txt)。例如,“ main.txt”,我只需要保存前綴(main)。 但是,“拆分”功能不適用於陣列。 你能告訴我如何解決這個問題嗎? 我看到了幾則與我所問的內容相似的帖子,但找不到答案。 對於給您帶來的不便,我們深表歉意。 我剛剛開始使用python。
下面是我的代碼和錯誤:
arr = np.genfromtxt('file',dtype=(str))
rest=arr.split(".")[0]AttributeError Traceback (most recent call last)
<ipython-input-27-02be1ad07338> in <module>()
----> 1 rest=arr.split(".")[0]
AttributeError: 'numpy.ndarray' object has no attribute 'split'
import numpy as np
x= np.array((('aa.txt',1),('b.tct',2)))
print np.apply_along_axis(lambda a: (a[0].split('.')[0],a[1]),1,x)
[['aa' '1']
['b' '2']]
編輯:也許我應該詳細說明-numpy數組對於非數字矩陣而言並不自然。 考慮列表(假設文件中的分隔符為空格):
table=[(r.split()[0].split('.')[0],r.split()[1]) for r in open('file')]
或避免雙重分裂:
table = []
for r in open('file'):
r = r.split()
table.append((r[0].split('.')[0],r[1]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.