Как поместить значения переменных в другой список списка, используя pandas / python - PullRequest
0 голосов
/ 25 октября 2018

У меня есть две переменные:

date = 2018-10-25

В том, что все даты хранятся

df =[['Euro', 0.8762059999999999], ['British Pound', 0.7755920000000001], ['Indian Rupee', 73.246211], ['Australian Dollar', 1.4093959999999999], ['Canadian Dollar', 1.308288], ['Singapore Dollar', 1.379124], ['Swiss Franc', 0.999036], ['Malaysian Ringgit', 4.1631849999999995], ['Japanese Yen', 112.293159], ['Chinese Yuan Renminbi', 6.944638]]

как этот список списка.

Я хочу Вывод:[['Euro',2018-10-25, 0.8762059999999999],['British Pound', 2018-10-25, 0.7755920000000001],['Indian Rupee',2018-10-25, 73.246211],....] как для всех элементов списка с циклом for, использующим pandas / python.

И вы хотите сохранить это в базе данных Mysql Итак, как поступает его запрос?мне, как я должен сделать.Я пробовал это, но не работает:

 total = []
 for i in df:
         total = [df[0][0], date, df[0][1]]

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Попробуйте:

date = '2018-10-25'
for i in df:
    i.insert(1,date)

In [1154]: df
Out[1154]: 
[['Euro', '2018-10-25', 0.8762059999999999],
 ['British Pound', '2018-10-25', 0.7755920000000001],
 ['Indian Rupee', '2018-10-25', 73.246211],
 ['Australian Dollar', '2018-10-25', 1.4093959999999999],
 ['Canadian Dollar', '2018-10-25', 1.308288],
 ['Singapore Dollar', '2018-10-25', 1.379124],
 ['Swiss Franc', '2018-10-25', 0.999036],
 ['Malaysian Ringgit', '2018-10-25', 4.1631849999999995],
 ['Japanese Yen', '2018-10-25', 112.293159],
 ['Chinese Yuan Renminbi', '2018-10-25', 6.944638]]

Теперь вы можете создать dataframe сверху для вставки в Mysql

frame = pd.DataFrame(df)
frame.columns = ['Currency' ,'date', 'value']
frame.date = frame.date.apply(pd.to_datetime)
In [1156]: frame
Out[1156]: 
                       0           1           2
0                   Euro  2018-10-25    0.876206
1          British Pound  2018-10-25    0.775592
2           Indian Rupee  2018-10-25   73.246211
3      Australian Dollar  2018-10-25    1.409396
4        Canadian Dollar  2018-10-25    1.308288
5       Singapore Dollar  2018-10-25    1.379124
6            Swiss Franc  2018-10-25    0.999036
7      Malaysian Ringgit  2018-10-25    4.163185
8           Japanese Yen  2018-10-25  112.293159
9  Chinese Yuan Renminbi  2018-10-25    6.944638

from pandas.io import sql
import MySQLdb

frame.to_sql(con=con, name='table_name', if_exists='replace', flavor='mysql', index=False)

Дайте мне знать, если это работает.

0 голосов
/ 25 октября 2018

Супер просто:

date = "2018-10-25"

df =[['Euro', 0.8762059999999999], ['British Pound', 0.7755920000000001], ['Indian Rupee', 73.246211], ['Australian Dollar', 1.4093959999999999], ['Canadian Dollar', 1.308288], ['Singapore Dollar', 1.379124], ['Swiss Franc', 0.999036], ['Malaysian Ringgit', 4.1631849999999995], ['Japanese Yen', 112.293159], ['Chinese Yuan Renminbi', 6.944638]]

// Loop through df, i being the position, and append the date to the end of each
// of those arrays under df, because df is a multi dimensional array.
for i in df:
   i.insert(1,date)

print(df)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...