代码
import pandas as pd
import csv
my_dict = { 'Customer' : [],
'Product' : []
}
x = input("Customer:")
y = input("Product:")
my_dict['Customer'].append(x)
my_dict['Product'].append(y)
df = pd.DataFrame(my_dict)
df.to_csv('data.csv', encoding='utf-8', index= True)
输出
,Customer,Product
0,Customer 1,Product 1
问题
如果再次运行脚本并输入新值,如何添加新行?
示例
如果我再次运行脚本,那么我的输入将是Customer 2
和Product 2
并添加新的index
。我希望输出在csv文件中看起来像这样:
,Customer,Product
0,Customer 1,Product 1
1, Customer 2, Product 2
但是目前,它只是覆盖它。
答案 0 :(得分:1)
您想将数据追加到现有数据中,因此尝试读入文件并追加数据:
import pandas as pd
import csv
try: #tries to read in existing data.csv file
df = pd.read_csv('data.csv', encoding='utf-8', index_col = 0)
except FileNotFoundError: #if no file exists yet, create an empty dataframe
df = pd.DataFrame()
my_dict = { 'Customer' : [],
'Product' : []
}
x = input("Customer:")
y = input("Product:")
my_dict['Customer'].append(x)
my_dict['Product'].append(y)
df = df.append(pd.DataFrame(my_dict))
df.to_csv('data.csv', encoding='utf-8', index= True)