通过Python在第二行以CSV格式插入新行

时间:2018-06-05 13:14:20

标签: python csv insert row

是否可以在第二行的CSV文件中插入新行?例如,我有一个包含列名称及其值的CSV:

meter_id, sdp_id, lat, lon
813711, 1331, 34.298, -83.113

我试图读取此文件的应用程序需要添加一个新行来指示列类型。在上面的例子中,所有都是字符串,因此CSV需要是:

meter_id, sdp_id, lat, lon
String, String, String, String
813711, 1331, 34.298, -83.113

我已经阅读了几篇文章,如何在CSV的末尾添加新行,但无法找到有关如何执行上述操作的任何内容。

2 个答案:

答案 0 :(得分:1)

这是使用csv模块的一种方法。

<强>演示:

import csv
toAdd = ["String", "String", "String", "String"]
with open(filename, "r") as infile:
    reader = list(csv.reader(infile))
    reader.insert(1, toAdd)

with open(filename, "w") as outfile:
    writer = csv.writer(outfile)
    for line in reader:
        writer.writerow(line)

答案 1 :(得分:1)

一个简单的解决方案可能是:

import csv

row = ['String', ' String', ' String']

with open('file.csv', 'r') as readFile:
    reader = csv.reader(readFile)
    lines = list(reader)
    lines.insert(1, row)

with open('file.csv', 'w') as writeFile:
    writer = csv.writer(writeFile)
    writer.writerows(lines)

readFile.close()
writeFile.close()

我无法尝试。如果有效,请告诉我。