如果 CSV 文件不存在然后仅附加到它,如何创建它 Python
How to create a CSV file if it does not exist and then only append to it Python
我想知道目录中不存在的文件如何创建。我只想附加数据。
我在 Python 中收到此错误:No such file or directory.
这是我的代码:
with open (saveAddr+".csv",'a') as allpckts:
writer = csv.DictWriter(allpckts, delimiter=',', fieldnames=header)
if pktnum < 2:
writer.writerow(dict((fn,fn) for fn in header))
writer.writerow(packet_data)
else:
writer.writerow(packet_data)
更新:
我的问题是我不在正确的目录中。因此,对于任何搜索最基本语法以仅附加到 CSV 文件的人来说,是:
with open (filename+".csv",'a') as filedata:
writer = csv.DictWriter(filedata, delimiter=',', fieldnames=header)
writer.writerow(data)
with open (saveAddr+".csv",'a') as allpckts:
如果不存在则创建一个新文件saveAddr+".csv"
,否则打开它进一步appending.Assuming saveAddr
是文件名(如果路径中包含,请检查路径是否存在。 )
如果要检查文件是否存在
os.path.isfile('/path/to/csv')
很可能您正在尝试在不存在的目录中创建文件。
您想要的是 'a' 模式所做的,如果文件不存在则创建文件,否则附加到文件。但它不会创建目录,如果这些目录不存在,您应该在 运行 程序之前创建在 saveAddr 中使用的目录。
如果您想要一个程序化的解决方案,您可以查看 os.mkdir,它应该会创建目录。
#check if dir exist if not create it
def check_dir(file_name):
directory = os.path.dirname(file_name)
if not os.path.exists(directory):
os.makedirs(directory)
def save(file_name, records):
check_dir(file_name)
csv_file = open(file_name,'w+')
csvWriter = csv.writer(csv_file,delimiter=',')
count = 0
for record in records:
csvWriter.writerow([record])
count+=1
print(count, " record saved to ",file_name)
return count enter code here
directory = os.path.abspath(os.path.join(os.path.curdir))
save(directory+"/data/filename.csv",your_list)
我想知道目录中不存在的文件如何创建。我只想附加数据。
我在 Python 中收到此错误:No such file or directory.
这是我的代码:
with open (saveAddr+".csv",'a') as allpckts:
writer = csv.DictWriter(allpckts, delimiter=',', fieldnames=header)
if pktnum < 2:
writer.writerow(dict((fn,fn) for fn in header))
writer.writerow(packet_data)
else:
writer.writerow(packet_data)
更新: 我的问题是我不在正确的目录中。因此,对于任何搜索最基本语法以仅附加到 CSV 文件的人来说,是:
with open (filename+".csv",'a') as filedata:
writer = csv.DictWriter(filedata, delimiter=',', fieldnames=header)
writer.writerow(data)
with open (saveAddr+".csv",'a') as allpckts:
如果不存在则创建一个新文件saveAddr+".csv"
,否则打开它进一步appending.Assuming saveAddr
是文件名(如果路径中包含,请检查路径是否存在。 )
如果要检查文件是否存在
os.path.isfile('/path/to/csv')
很可能您正在尝试在不存在的目录中创建文件。
您想要的是 'a' 模式所做的,如果文件不存在则创建文件,否则附加到文件。但它不会创建目录,如果这些目录不存在,您应该在 运行 程序之前创建在 saveAddr 中使用的目录。
如果您想要一个程序化的解决方案,您可以查看 os.mkdir,它应该会创建目录。
#check if dir exist if not create it
def check_dir(file_name):
directory = os.path.dirname(file_name)
if not os.path.exists(directory):
os.makedirs(directory)
def save(file_name, records):
check_dir(file_name)
csv_file = open(file_name,'w+')
csvWriter = csv.writer(csv_file,delimiter=',')
count = 0
for record in records:
csvWriter.writerow([record])
count+=1
print(count, " record saved to ",file_name)
return count enter code here
directory = os.path.abspath(os.path.join(os.path.curdir))
save(directory+"/data/filename.csv",your_list)