我正在使用以下格式的 csv 檔案:
"LatD", "LatM", "LatS", "NS", "LonD", "LonM", "LonS", "EW", "City", "State"
41, 5, 59, "N", 80, 39, 0, "W", "Youngstown", OH
42, 52, 48, "N", 97, 23, 23, "W", "Yankton", SD
46, 35, 59, "N", 120, 30, 36, "W", "Yakima", WA
42, 16, 12, "N", 71, 48, 0, "W", "Worcester", MA
43, 37, 48, "N", 89, 46, 11, "W", "Wisconsin Dells", WI
當它與:
cities = pd.read_csv("cities.csv")
并嘗試呼叫一個列:
print(cities[cities.City.str.contains("Y")])
我收到此錯誤:
AttributeError: 'DataFrame' object has no attribute 'City'
我嘗試使用修復它,但問題仍然存在:
cities.columns = cities.columns.str.strip()
這與第一行的引號有關嗎?如果是這樣,有沒有辦法以編程方式轉換它們?
先感謝您。
uj5u.com熱心網友回復:
您可以嘗試"用空字串替換(只要列不包含其他"資料,它就會起作用):
from io import StringIO
with open("cities.csv", "r") as f_in:
df = pd.read_csv(
StringIO(f_in.read().replace('"', "")), sep=r"\s*,\s*", engine="python"
)
print(df[df.City.str.contains("Y")])
印刷:
LatD LatM LatS NS LonD LonM LonS EW City State
0 41 5 59 N 80 39 0 W Youngstown OH
1 42 52 48 N 97 23 23 W Yankton SD
2 46 35 59 N 120 30 36 W Yakima WA
uj5u.com熱心網友回復:
嘗試這個:
cities["City"].str.contains('Y').any()
參考以了解更多資訊: https ://www.statology.org/pandas-check-if-column-contains-string/
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/534895.html
上一篇:匯入包含列標題的每一行的CSV
下一篇:替換資料框中的多個字串
