#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. Спасибо за идеи! Я забыл сказать, что у первой колонки на самом деле нет имени. Я просто поставил «Карр», потому что это похоже на валюту. Как добавить название первой колонки, сэр?