如何在不覆盖的情况下将数据附加到数据帧?

时间:2019-01-26 22:54:02

标签: python python-3.x jupyter-notebook

我是python的新手,但我需要将其用于个人项目。因此,我有大量的代码。功能是创建表并根据需要对其进行更新。问题在于该表不断被覆盖,我不知道为什么。另外,我还在努力正确地分配要添加的新行的开始位置,这就是total(也被覆盖)和pos在那里的原因,但是我还没有弄清楚正确使用它们。有提示吗?

import datetime
import pandas as pd
import numpy as np

total ={}

entryTable = pd.read_csv("Entry_Table.csv")

newEntries = int(input("How many new entries?\n"))

for i in range(newEntries):
   ID = input ("ID?\n")
   VQ = int (input ("VQ?\n"))
   timeStamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
   entryTable.loc[i] = [timeStamp, ID, VQ]
   entryTable.to_csv("Inventory_Table.csv")
   total[i] = 1

pos = sum(total.values())
print(pos)
inventoryTable = pd.read_csv("Inventory_Table.csv", index_col = 0)

1 个答案:

答案 0 :(得分:0)

您的变量“ i”从索引0到“ newEntries”的数量。当您将新数据添加到Pandas数据框中的“ i”行时,您将覆盖该行中的现有数据。如果要添加新数据,请尝试“ n + i”,其中n是初始条目数。您可以使用以下任一方法确定n

n = len(entryTable)

n = entryTable.shape[0]