我想通过String和Number of Position在某一行中插入一个字符串 从:
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()
请帮忙。谢谢!
答案 0 :(得分:0)
如果它是一个逐行文本文件,那么这将是一种方法。
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
statement manages contexts,也不仅仅是文件处理程序)。然后,只需将项目插入列表并将列表写回。
如果您不想修改内存中的列表,可以在第二个for循环中use the built-in enumerate:
with open("files.csv","w") as f:
for i, line in enumerate(lines):
if i == pos:
f.write(sk + '\n')
f.write(line)
但如果您想以某种方式操纵CSV数据,可以just import csv
。