我需要执行以下操作:
- 如果 CSV 文件不存在,则创建该文件,如果存在,则追加数据
- 创建新的 CSV 文件时,使用 dict1 中的标题创建。
我的代码:
def main():
list1 = [ 'DATE','DATASET','name1','name2','name3']
dict1 =dict.fromkeys(list1,0)
with open('masterResult.csv','w+b')as csvFile:
header = next(csv.reader(csvFile))
dict_writer = csv.DictWriter(csvFile,header,0)
dict_writer.writerow(dict1)
if __name__ =='__main__':
main()
我编写了以下示例代码,您可以参考并根据您的要求使用。首先,如果使用附加模式打开文件,如果文件存在,则可以追加,如果不存在,则可以重新写入。现在,进入标题编写,您可以事先检查文件的大小。如果大小为零,那么它显然是一个新文件,您可以先编写标题。如果大小不为零,则只能附加数据记录而不写入标头。下面是我的示例代码。第一次运行它时,它将创建带有标头的文件。下次运行代码时,它将仅附加数据记录,而不附加标头。
import os
header='Name,Age'
filename='sample.csv'
filesize=0
if(os.path.exists(filename) and os.path.isfile(filename)):
filesize=os.stat(filename).st_size
f=open(filename,'a')
if(filesize == 0):
f.write('%sn' % header)
f.write('%sn' % 'name1,25')
f.close()
w
模式将覆盖现有文件。相反,您需要使用a
(追加)模式:
with open('masterResult.csv','a+b') as csvFile:
# here -------------------^