Как извлечь определенные данные из файла .csv и сохранить их в переменной с помощью Python

#python #dataframe #variables

Вопрос:

У меня есть файл .csv, содержащий валюту и ее курс. Я хочу извлечь выделенные данные из файла .csv и сохранить их в переменной.

Как я могу сделать это с помощью Python?

введите описание изображения здесь

В настоящее время я новичок в Python, и мне нужно очень многому научиться.

Ответ №1:

Учитывая, что ваш файл .csv содержит только такую таблицу, вы можете открыть и получить из нее нужные вам данные на Python с помощью Pandas:

 import pandas as pd
# Open the csv file
data = pd.read_csv("yourfilename.csv")
# Get the value
data.loc[data["Curr"] == "GBP", "Rates"][1]
 

Чтобы решить проблему с отсутствующими именами в заголовке, вы можете пропустить первую строку и добавить собственные имена столбцов:

 # Open the csv file
colnames = ["currency", "rate"]
data = pd.read_csv("yourfilename.csv", names=colnames, skiprows=(0,))
# Get the value
data.loc[data["currency"] == "GBP", "rate"][1]
 

Комментарии:

1. Спасибо за идеи! Я забыл сказать, что у первой колонки на самом деле нет имени. Я просто поставил «Карр», потому что это похоже на валюту. Как добавить название первой колонки, сэр?

2. Если у вас неполный заголовок, вы можете пропустить первую строку и добавить свои собственные имена столбцов. Я отредактирую свой ответ, чтобы включить этот шаг.

Ответ №2:

Лучший (и распространенный способ) сделать это-использовать пакет под названием Pandas.

Вы можете установить его, набрав pip install pandas в своем терминале.

Если вы используете среду Anaconda, она должна быть уже установлена. Пропустите этот отрывок из «Анаконды», если вы не знаете, о чем я говорю (в конце концов, погуглите его).

С пандами вы можете сделать это:

 # Import pandas package
import pandas as pd

# Read your file as a dataframe
myDataframe = pd.read_csv("filename.csv")

# Convert 'Rates' column to float (if needed)
myDataframe = myDataframe.astype({"Rates":"float"})

# Extract the 'interesting' row by using this notation
interestingRow = myDataframe[myDataframe["Curr"] == "GBP"]

# Extract the rate value from the row
theRate = interestingRow["Rates"]
 

Комментарии:

1. Спасибо за идеи! Я забыл сказать, что у первой колонки на самом деле нет имени. Я просто поставил «Карр», потому что это похоже на валюту. Как добавить название первой колонки, сэр?