Привет, у меня есть некоторые данные, которые я хочу сохранить в фрейме данных после каждого обновления. но он всегда переопределяет мои предыдущие данные. есть ли способ сохранить мои предыдущие данные и добавить к ним новые.
df = pd.DataFrame(columns=['Entry','Middle','Exit'])
def function():
entry_value = 178.184 # data comming from server
middle_value = 14.121 # data comming from server
exit_value = 19.21 # data comming from server
df1 = df.append({'Entry' : entry_value , 'Middle' : middle_value, 'Exit' : exit_value}, ignore_index = True)
df1.to_csv('abc.csv')
i = 0
while i < 5:
function()
i += 1
это значение entry_value, middle_value и exit_value является изменением. иногда это не изменить. в этом примере я хочу, чтобы мой csv имел одинаковые данные 5 раз
Примечание: здесь значение жестко закодировано, но оно поступает с сервера, но в этом формате
Вы можете использовать функцию concat (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html)
например:
import pandas as pd
df = pd.DataFrame(columns=['Entry','Middle','Exit'])
def function():
global df
entry_value = 178.184 # data comming from server
middle_value = 14.121 # data comming from server
exit_value = 19.21 # data comming from server'
new_row = pd.DataFrame.from_dict([{'Entry' : entry_value , 'Middle' : middle_value, 'Exit' : exit_value}], orient='columns')
df = pd.concat([df, new_row])
df.to_csv('abc.csv')
i = 0
while i < 5:
function()
i += 1
Кроме того, если вы хотите иметь все версии вашего CSV-файла, вы можете добавить счетчик в конец имени вашего CSV-файла. например:
import pandas as pd
df = pd.DataFrame(columns=['Entry','Middle','Exit'])
def function(n):
global df
entry_value = 178.184 # data comming from server
middle_value = 14.121 # data comming from server
exit_value = 19.21 # data comming from server'
new_row = pd.DataFrame.from_dict([{'Entry' : entry_value , 'Middle' : middle_value, 'Exit' : exit_value}], orient='columns')
df = pd.concat([df, new_row])
df.to_csv(f'abc{n}.csv')
i = 0
while i < 5:
function(i)
i += 1
Этот ответ может помочь вам намного лучше, давая вам ясность в отношении нескольких способов добавления данных в фрейм данных.