[英]How to read data from a CSV file when the column heading contains a forward slash?
我想檢查 CSV 文件中的列是否存儲了任何等於給定輸入的數據。
我有一個 csv 文件,我將其命名為myFile.csv
,我使用pandas
來讀取它,如下所示:
import pandas as pd
...
path = r'C:\Users\...\myFile.csv'
df = pd.read_csv(path)
我試圖從中讀取數據的列之一具有標題Country/Region
。 我要做的是檢查Country/Region
是否包含任何值為'someRegion'
行
region = 'someRegion'
for item in df.Country/Region:
if item == region:
#doSomething
我遇到的問題是,當我這樣做時,我收到以下錯誤:
AttributeError: 'DataFrame' object has no attribute 'Country'
有沒有什么辦法可以在不將 CSV 文件中的列標題名稱更改為沒有正斜杠的名稱的情況下工作,因為這不是一個選項?
(我使用的是最新版本的pandas
和python 3.7.7
)
您可以通過以下方式引用列:
In [44]: for item in df['country/region']:
...: if item == region:
...: #do something
...:
Python 不會以您希望的方式解釋以下代碼行,因此出現錯誤:
for item in df.Country/Region:
Python 解釋器認為“/”符號是除法運算符,而不是列名的一部分。
如果列的名稱包含充當運算符的字符,例如“/”,則需要使用 [] 括號表示法來尋址 DataFrame。
if "region" in df["Country/Region"]:
pass
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.