2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
實(shí)際答案
好吧,請注意,您可以像對(duì)列表一樣對(duì)字符串使用索引。即"this is a very long string but we only want the first 4 letters"[:4]給出"this". 如果我們現(xiàn)在新的點(diǎn)的索引,我們就可以得到你想要的東西。正是因?yàn)樽址性搃ndex方法。所以總共你會(huì)做:
stuff = "useful. useless useless useless useless"
stuff = stuff[:stuff.index(".")]
現(xiàn)在的東西非常有用:)。如果我們正在討論包含多行的文件,您可以為每一行執(zhí)行此操作。將該行拆分,并將所有內(nèi)容放入字典中。
data = {}
with open("./test.txt") as f:
for i, line in enumerate(f.read().split("\n")):
csv_line = line[:line.index(".")]
for j,col in enumerate(csv_line.split(",")):
data[(i,j)] = col
如何做到這一點(diǎn)
請注意,大多數(shù)人不想手動(dòng)完成此操作。處理表格數(shù)據(jù)是一項(xiàng)常見任務(wù),有一個(gè)名為 pandas 的庫可以完成此任務(wù)。也許在深入了解 Python 之前先熟悉一下 Python 是個(gè)好主意pandas。我認(rèn)為這是一個(gè)很好的起點(diǎn)。使用pandas你的任務(wù)看起來像這樣
import pandas as pd
pd.read_csv("./test.txt", comment=".")
給你所謂的數(shù)據(jù)框。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您知道要分割的角色,可以使用以下簡單的方法:
good_data = bad_data.split(".")[0]
good_data = good_data.strip() # remove excess whitespace at start and end
這個(gè)方法永遠(yuǎn)有效。split將返回一個(gè)元組,該元組始終至少有 1 個(gè)條目(完整字符串)。使用index可能會(huì)拋出異常。
如果需要,您還可以使用 來限制將發(fā)生的拆分?jǐn)?shù)量split(".", N)。
https://docs.python.org/2/library/stdtypes.html#str.split
>>> "good.bad.ugly".split(".", 1)
['good', 'bad.ugly']
>>> "nothing bad".split(".")
['nothing bad']
>>> stuff = "useful useless"
>>> stuff = stuff[:stuff.index(".")]
ValueError: substring not found
添加回答
舉報(bào)