簡體   English   中英

通過Python在第二行的CSV中插入新行

[英]Insert new line in CSV at second row via Python

是否可以在第二行的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末尾添加新行的文章,但找不到有關如何執行上述操作的任何信息。

這是使用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)

一個簡單的解決方案可能是:

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()

我無法嘗試。 請讓我知道它是否有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM