簡體   English   中英

在CSV文件中插入特定的行,而不是替換Python中的其他值

[英]Insert a specific row in a CSV file, Not replacing other values in Python

我想通過String和Number of Position From在某個行中插入一個字符串:

Str1
Str2
Str3

Str1
Str2
Inserted String
Str3

我做了很多研究,有的取代了價值,所以沒有用,有什么想法去做嗎? 我是python的新手,我嘗試從C ++轉換代碼,但是用這種語言很難做到。

到目前為止,我的代碼:

sk= raw_input("\nWhat SKU would you like to insert?: ")
pos= int(raw_input("\nAt what row?: "))


f = open("files.csv","r")
lines = f.readlines()
f.close()
print(row[pos])
f = open("files.csv","w")

for line in lines:
    if line.startswith(line[pos]):
        line[pos] = sk
f.close()

請幫忙。 謝謝!

如果是逐行文本文件,則這是一種處理方式。

sk= raw_input("\nWhat SKU would you like to insert?: ")
pos= int(raw_input("\nAt what row?: "))

with open("files.csv","r") as f:
    lines = f.readlines()

lines.insert(pos, sk + '\n')

with open("files.csv","w") as f:
    for line in lines:
        f.write(line)

使用with始終關閉文件,即使在發生錯誤或其他意外事件的情況下( with語句管理上下文 ,不僅用於文件處理程序)。 然后,只需將項目插入列表並寫回列表即可。

如果您不想在內存中修改列表,則可以在第二個for循環中使用內置枚舉

with open("files.csv","w") as f:
    for i, line in enumerate(lines):
        if i == pos:
            f.write(sk + '\n')
        f.write(line)

但是,如果您想以某種方式處理CSV數據,則只需import csv

暫無
暫無

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

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