当前位置: 首页 > 知识库问答 >
问题:

Python不创建新的文件头时,它不存在

易昌翰
2023-03-14

如果CSV文件不存在,我想写一个新的CSV文件,并在其中附加行数据。不确定以下代码为什么不添加文件头?(罚款)

import os
import csv

path = "test.csv"


with open(path, mode="a") as f:    
    writer = csv.writer(f, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)

    if not os.path.exists(path):
        writer.writerow(["col1", "col2", "col3", "col4", "col5", "col6", "col7"])

    row = [1,2,3,4,5,6,7]
    writer.writerow(row)

共有1个答案

丁阳炎
2023-03-14

在打开文件之前,需要移动(如果存在)测试。如果文件不存在,以“a”模式打开文件将创建该文件

import os
import csv

path = "test.csv"

exists = os.path.exists(path)
with open(path, mode="a") as f:    
    writer = csv.writer(f, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)

    if not exists:
        writer.writerow(["col1", "col2", "col3", "col4", "col5", "col6", "col7"])

    row = [1,2,3,4,5,6,7]
    writer.writerow(row)
 类似资料:
  • 问题内容: 如果文件以读/写方式打开,或者以不存在的方式创建,然后以读/写方式打开,最好的方法是什么?根据我的阅读,应该这样做吗? 它对我不起作用(Python 2.6.2),我想知道这是否是版本问题,或者不应该那样工作或做什么。 最重要的是,我只需要解决这个问题。我对其他东西很好奇,但是我所需要的只是做开始部分的好方法。 封闭目录可由用户和组而非其他用户(我在Linux系统上…因此权限775)可

  • 问题内容: 如果我这样做: 然后创建文件,并始终返回“文件存在”。是否可以不创建文件就检查文件是否存在? 编辑: 我忘了提到它处于for循环中。所以这是真实的东西: 问题答案: 实例化a时,您并没有在磁盘上创建任何东西,而只是构建了一个可以调用某些方法的对象,例如。 既好又便宜,不要试图避免这种实例化。 该实例只有两个字段: 这是构造函数: 如您所见,实例只是路径的封装。创建它以便进行调用是继续进

  • 我正在使用Apache POI创建和修改excel文件。我希望我的程序用给定的名称创建一个新的。xls文件,如果它不存在于目录中。但是,如果它存在,我希望我的程序只打开那个。xls文件并修改它。 我的程序能够创建一个新的。xls文件,但是每当我试图将该文件作为HSSFWorkbook打开时,程序就会吐出一个错误,说“无效的头签名;读取0x0000000000000000,预期为0xE11AB1A1

  • 问题内容: 我希望根据该文件是否已经存在来写一个文件,仅在不存在的情况下才写(实际上,我希望继续尝试文件,直到找到一个不存在的文件为止)。 下面的代码显示在其中一个潜在的攻击者可以插入一个符号,作为建议的方式这篇文章中该文件的测试和写入的文件之间。如果代码以足够高的权限运行,则可能会覆盖任意文件。 有什么办法解决这个问题? 问题答案: 编辑 :另请参见DaveJones的回答:从Python3.3

  • 我是React Native(0.59.3)的新手,我正在尝试为应用程序中的所有组件设置默认字体。我读过https://stackoverflow.com/a/47925418/811405和如何在React Native for IOS应用程序中禁用字体缩放?。 在我的< code>App.js中,我将: 但是我得到< code >无法设置未定义的属性' style ' 。 当我添加在此之前,我

  • 问题内容: 在使用Bluehost进行WordPress安装时,我遇到了一些情况,由于没有上传文件夹,我的WordPress主题遇到了错误。 显然,尽管HostGator可以,Bluehost cPanel WordPress安装程序不会创建此文件夹。 因此,我需要向主题添加代码,以检查文件夹并以其他方式创建该文件夹。 问题答案: 尝试这个: 请注意,这已经是目录的默认模式,并且仍可以被当前的um