2 回答

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

TA貢獻1784條經(jīng)驗 獲得超8個贊
如果您知道要分割的角色,可以使用以下簡單的方法:
good_data = bad_data.split(".")[0]
good_data = good_data.strip() # remove excess whitespace at start and end
這個方法永遠有效。split將返回一個元組,該元組始終至少有 1 個條目(完整字符串)。使用index可能會拋出異常。
如果需要,您還可以使用 來限制將發(fā)生的拆分數(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
添加回答
舉報