如何将数据添加到非空 csv 文件中的第一行?

问题描述 投票:0回答:1
from csv import  *

items = ["Lenovo",1500,"Laptop"]

#using writer

with open("items.csv","a") as writable:
    written = writer(writable)
    written.writerow(items)
    writable.close()

到目前为止我已经这样做了,但这会添加到最后一行。

python csv
1个回答
0
投票

就像 JonSG 评论的那样,一个非常简单的方法是:

  1. 将文件读入行列表
  2. 插入/添加您关心的行
  3. 写出清单

使用 Python 的 csv 模块和基本的读取器和写入器,看起来如下所示:

import csv

with open("input.csv", newline="") as f:
    reader = csv.reader(f)
    data = list(reader)

data.insert(1, ["foo", "bar", "baz", "cat"])

with open("output.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerows(data)

如果我开始:

| Col1 | Col2 | Col3 | Col4 |
|------|------|------|------|
| r1c1 | r1c2 | r1c3 | r1c4 |
| r2c1 | r2c2 | r2c3 | r2c4 |
| r3c1 | r3c2 | r3c3 | r3c4 |

我最终得到:

| Col1 | Col2 | Col3 | Col4 |
|------|------|------|------|
| foo  | bar  | baz  | cat  |
| r1c1 | r1c2 | r1c3 | r1c4 |
| r2c1 | r2c2 | r2c3 | r2c4 |
| r3c1 | r3c2 | r3c3 | r3c4 |

我的示例 CSV 有一个标题,索引 0,因此我在索引 1 处插入了新行(第一个“数据行”)。

(我总是建议写入一个新文件,确保您喜欢结果,然后在满意后将其移动/重命名为原始文件......至少在您开始时。)

© www.soinside.com 2019 - 2024. All rights reserved.