[英]Check the string is ending with "|" using python
我需要檢查字符串是否以|
結尾或不。
Student,"Details"
Joe|"December 2017|maths"
Bob|"April 2018|History|Biology|Physics|"
sam|"December 2018|physics"
我已嘗試使用以下代碼,但它沒有按預期工作。
def Pipe_in_variant(path):
df = pd.read_csv(path, sep='|')
mask = (df['Details'])
result = mask.endswith(""|"")
print("...................")
print(result)
您的示例輸入不清楚,但是假設您要檢查列中的項目是否以某些內容結尾,請使用str.endswith
。
例子:
df = pd.DataFrame({'Details': ['ab|c', 'acb|']})
df['Details'].str.endswith('|')
output:
0 False
1 True
Name: Details, dtype: bool
注意 - 我認為輸入的第一行應該是Student|"Details"
而不是Student,"Details"
。
這是你可以做的
import pandas as pd
dframe = pd.read_csv('input.txt', sep='|')
dframe['ends_with_vbar'] = dframe['Details'].str.endswith('|')
dframe
Output:
Student Details ends_with_vbar
0 Joe December 2017|maths False
1 Bob April 2018|History|Biology|Physics| True
2 sam December 2018|physics False
然后您可以按如下方式打印標記的行
for _, row in dframe[dframe['ends_with_vbar']].iterrows():
print(f'{row["Student"]} - {row["Details"]}')
Output:
Bob - April 2018|History|Biology|Physics|
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.