【发布时间】:2014-12-02 23:51:40
【问题描述】:
我正在尝试将一些数据保存到我保存到 csv 文件中的字典中。唯一的问题是我想永久保存 csv 文件,以便以后重新启动程序时可以重新使用它。例如,如果我输入一些数据,它将显示 dict 已更新,csv 文件也已更新(如果我用 excel 打开 csv 文件,它将显示输入)。但是当我关闭程序并重新启动它并提供一些新的输入时,它将重置 dict 和 csv 数据。如何保留数据并仅更新文件? 这是我的代码,这里的 cmets 并不重要。
# Writing
import csv
with open("inkomsten.csv", "r") as f:
reader = csv.reader(f, delimiter=":")
# Dicts van de data
inkomsten = {}
uitgaven = {}
##############################
目前只关注“Inkomsten”。
# Inkomsten updaten
def toevoegenIn():
bron = str(raw_input("Welke bron wilt U toevoegen? "))
bedrag = int(input("Welk bedrag hoort daarbij? "))
inkomsten[bron] = bedrag
# Uitgaven updaten
def toevoegenUit(bron, bedrag):
uitgaven[bron] = bedrag
##############################
# Totaal bedragen updaten
def totaalIn():
waarde = inkomsten.values()
totaal = 0
for i in waarde:
totaal += i
print totaal
def totaalUit():
waarde = uitgaven.values()
totaal= 0
for i in waarde:
totaal += i
print totaal
##############################
toevoegenIn()
print inkomsten
totaalIn()
with open("inkomsten.csv", "wb") as g:
writer = csv.writer(g, delimiter=":")
writer.writerows(inkomsten.items())
【问题讨论】:
-
那些文件很大吗?它们适合记忆吗?另外,您能否发布一个 2-3 行
.csv的示例? -
现在,它们不超过 20 字节,因为我只用 1 个输入对其进行了测试。一个例子是 -> AH : 250 一排。它将在新行上打印每个新输入
-
我也在尝试将第一个和第二个输入分成两个不同的列,但那是另一次了 ;)
-
那些 .csv... 他们总是只有两列吗?像AH:250? (如果是这种情况,这可以通过
dict轻松完成)否则,它会比这更复杂一些。
标签: python python-2.7 csv