Python-如何将值添加到第一列和追加

Python-如何将值添加到第一列和追加,python,csv,Python,Csv,因此,我有一个小脚本,看起来非常: for _ in range(3): with open('test.csv', 'a', newline='') as csv_file: writer = csv.writer(csv_file) writer.writerow(["SN", "Name", "Contribution"]) writer.writerow([1, "Linus Torvalds", "Linux Kernel"])

因此,我有一个小脚本,看起来非常:

for _ in range(3):
    with open('test.csv', 'a', newline='') as csv_file:
        writer = csv.writer(csv_file)
        writer.writerow(["SN", "Name", "Contribution"])
        writer.writerow([1, "Linus Torvalds", "Linux Kernel"])
        writer.writerow([2, "Tim Berners-Lee", "World Wide Web"])
        writer.writerow([3, "Guido van Rossum", "Python Programming"])

sys.exit()
基本上是这样写的:

但是,我想做的是:

在这里,我能看到的基本问题是:

  • 如果没有名为test.csv的csv,那么我们创建一个csv,并在顶部只添加一次
    Column-1、Column-2、Column-3
  • 如果已经有一个test.csv,那么我们不需要添加第一列
    column-1、column-2、column-3
    ,而只需要添加到需要的列中

  • 我不知道我是怎么做到的。我想知道怎么做。

    CSV代表“逗号分隔值”。如果无法将分隔值视为分隔列,则应更改csv查看器分隔符设置(对于Excel,请参阅)

    您还可以将
    for
    循环放入
    open
    块中,以避免在每次迭代中写入头

    使用
    DictWriter
    比这样使用
    writer
    更容易:

    with open('names.csv', 'a', newline='') as csvfile:
        fieldnames = ['A', 'B', 'C']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()
        for _ in range(3):
            writer.writerow({'A': 'SN', 'B': 'NAMES', 'C': 'Contribution'})
            writer.writerow({'A': '1', 'B': 'Linus Torvalds', 'C': 'Linux Kernel'})
            # and so on
    

    这里的问题是,所有内容都保存在一列中,正如我在本例中看到的那样。基本上,如果将其放入范围(3)中的
    for,所有内容都存储在列AAlso中:
    每次打开时它都会写入A B C。您的软件可以查看哪些
    .csv
    文件?Microsoft Excel-我不确定是否有任何不同?我想您应该在Excel中设置分隔符试试这个:也许您可以用它来完成。