You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using the forex_python library to convert currency values to USD using historical rates. However, I am encountering an SSL handshake failure when the library makes HTTPS requests to 'theforexapi.com'. The error message is as follows:
Error converting AUD for year 2022: HTTPSConnectionPool(host='theforexapi.com', port=443): Max retries exceeded with url: /api/2022-01-01?base=AUD&symbols=USD&rtype=fpy (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)')))
I have a csv file that contain multiple columns such as:
symbol, date, year, open, currency.
Currency columns contain values such as:
AUD, EUR, NZD, USD, GBP etc and trying to convert the $$$ from 'open' column to $USD based on a 'date' column.
Can someone try to help me? :)
Code below:
`
import pandas as pd
from forex_python.converter import CurrencyRates
from datetime import datetime
def convert_to_usd(row, c):
try:
# Constructing a date object with the year from the row and default month and day
date_obj = datetime(row['year'], 1, 1)
rate = c.get_rate(row['currency'], 'USD', date_obj)
return round(row['open'] * rate, 2)
except Exception as e:
print(f"Error converting {row['currency']} for year {row['year']}: {e}")
return None
def main():
# Load the CSV file
df = pd.read_csv('my_source_file_here_df.csv')
df['currency'] = df['currency'].str.strip().str.upper()
# Initialize currency converter
c = CurrencyRates()
# Convert prices to USD using historical rates
df['open_usd'] = df.apply(lambda row: convert_to_usd(row, c), axis=1)
# Save the updated dataframe to a new CSV file
df.to_csv('my_unpivoted_file_here_with_USD_df.csv', index=False)
print("Conversion completed and saved to 'converted_prices_with_historical_rates.csv'.")
if name == "main":
main()
`
The text was updated successfully, but these errors were encountered:
I am using the forex_python library to convert currency values to USD using historical rates. However, I am encountering an SSL handshake failure when the library makes HTTPS requests to 'theforexapi.com'. The error message is as follows:
Error converting AUD for year 2022: HTTPSConnectionPool(host='theforexapi.com', port=443): Max retries exceeded with url: /api/2022-01-01?base=AUD&symbols=USD&rtype=fpy (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)')))
I have a csv file that contain multiple columns such as:
symbol, date, year, open, currency.
Currency columns contain values such as:
AUD, EUR, NZD, USD, GBP etc and trying to convert the $$$ from 'open' column to $USD based on a 'date' column.
Can someone try to help me? :)
Code below:
`
import pandas as pd
from forex_python.converter import CurrencyRates
from datetime import datetime
def convert_to_usd(row, c):
try:
# Constructing a date object with the year from the row and default month and day
date_obj = datetime(row['year'], 1, 1)
rate = c.get_rate(row['currency'], 'USD', date_obj)
return round(row['open'] * rate, 2)
except Exception as e:
print(f"Error converting {row['currency']} for year {row['year']}: {e}")
return None
def main():
# Load the CSV file
df = pd.read_csv('my_source_file_here_df.csv')
if name == "main":
main()
`
The text was updated successfully, but these errors were encountered: