[英]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.