簡體   English   中英

當列標題包含正斜杠時,如何從 CSV 文件中讀取數據?

[英]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 文件中的列標題名稱更改為沒有正斜杠的名稱的情況下工作,因為這不是一個選項?

(我使用的是最新版本的pandaspython 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM