#python #pandas #python-requests #pycharm #finance
Вопрос:
У меня есть код, который собирает финансовые данные с помощью API и преобразует их в файл ecxel. В одном из столбцов у меня есть данные, учитывающие изменение цены акций за последний день, и я хочу, чтобы python написал отрицательные изменения красным цветом, а положительные-зеленым. У меня есть представление о том, как я мог бы это сделать, используя и если/иначе, но проблема в том, какую переменную я должен вызвать в состоянии if.
Вот та часть, когда я добавляю данные из API с помощью функции request.get.
data = requests.get(batch_apu_call_url).json()
for symbol in symbol_string.split(','):
final_dataframe = final_dataframe.append(
pd.Series(
[
data[symbol]['quote']['companyName'],
symbol,
data[symbol]['quote']['latestPrice'],
data[symbol]['quote']['changePercent'], #This is the line thats collects the changes in the stock prices
data[symbol]['quote']['marketCap'],
'N/A',
data[symbol]['quote']['latestTime']
],
index=my_columns),
ignore_index=True,
)
Это та часть, когда я хочу отформатировать специальную колонку
change_format = writer.book.add_format(
{
'num_format': '0.00%',
'font_color': 'EA1009' if [] < 0 else '2AEA09', #insted of the square brackets I want to put the variabel
'bg_color': background_color,
'border': 1
}
)
Это пример части результата в python:
Name Ticker Stock Price /-% Market Cap
0 Agilent Technologies Inc. A 127.120 0.01096 38026751371
1 American Airlines Group Inc AAL 26.301 0.02625 16894821033
2 Advance Auto Parts Inc AAP 184.060 0.01200 12369889031
3 Apple Inc AAPL 125.884 -0.02000 2114224151643
4 Abbvie Inc ABBV 109.250 -0.00430 191633606290
Process finished with exit code 0
И тот же результат в экселе. Файл ecxel сегодня не обновляется, поэтому данные могут отличаться от данных python.
https://i.stack.imgur.com/i9PIz.png
И вот что я хочу, чтобы это сработало: https://i.stack.imgur.com/G8xA5.png
Комментарии:
1. Пожалуйста, поделитесь соответствующим образцом данных или URL-адресом
Ответ №1:
Я нашел решение, и лучший способ сделать это -:
change_format = writer.book.add_format(
{
'num_format': '0.00%[Green];-0.00%[Red]',
'font_color': '',
'bg_color': background_color,
'border': 1
}
)