Как читать данные из файла CSV, если заголовок столбца содержит прямой sla sh? - PullRequest
0 голосов
/ 09 мая 2020

Я хочу проверить, хранит ли столбец в файле 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 на что-то без прямого sla sh, поскольку это не вариант?

(Я использую последнюю версию pandas и python 3.7.7)

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Python не будет интерпретировать следующую строку кода так, как вы этого хотите, отсюда и ошибка:

for item in df.Country/Region:

Интерпретатор Python считает, что символ '/' является делением оператор, а не часть имени столбца.

Если имя столбца содержит символ, который действует как оператор, например «/», вам необходимо адресовать свой DataFrame, используя обозначение скобок [].

if "region" in df["Country/Region"]:
    pass
0 голосов
/ 09 мая 2020

вы можете ссылаться на столбец следующим образом:

In [44]: for item in df['country/region']:
    ...:     if item == region:
    ...:         #do something
    ...:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...