我有兩個檔案:
values_list.txt
val1, "Sean"
val11, "Smith"/span>
val111,"25"。
val2, "Bob">
val22,"Rogers""30"/span>
val3,"Michael""Jones""40"/span>
val4,"Aaron"。
val44, "Michaels""41"。
val5, "John"/span>
val55, "Brown" "Brown"
val555,"26"。
insert_values.sql
insert into users(fname,lname,age) values(val1,val11,val111)
insert into users(fname,lname,age) values(val2,val22,val222)
insert into users(fname,lname,age) values(val3,val33,val333)
insert into users(fname,lname,age) values(val4,val44,val444)
insert into users(fname,lname,age) values(val5,val55,val555)
我需要像這樣生成第三個檔案 ....
insert into users(fname,lname,age) values("Sean"/span>,"Smith"/span>,"25"/span>)
insert into users(fname,lname,age) values("Bob"/span>, "Rogers"/span>, "30"/span>)
insert into users(fname,lname,age) values("Michael","Jones","40")
insert into users(fname,lname,age) values("Aaron","Michaels","41")
insert into users(fname,lname,age) values("John"/span>,"Brown"/span>,"26"/span>)
這是我目前的情況 ......
這是我目前的情況。
#Read each line of the text file
valsfile = open('values_list.txt' )
valscontents = valsfile.read()
valsline = valscontents.splitlines()
#讀取sql檔案的每一行。
sqlfile = open('insert_values.sql')
sqlcontents = sqlfile.read()
sqlline = sqlcontents.splitlines()
現在我需要從sqlline中獲取每個單獨的單詞--如果它包含 "val"--然后抓取這個單詞并從valsline中獲取匹配的值--然后寫/應用一個新的插入陳述句到一個新的檔案中
如果有任何幫助,我們將不勝感激。謝謝
uj5u.com熱心網友回復:
首先,我們創建一個字典,使用values_list.txt查詢數值,然后我們遍歷sqlfile中的所有行,用它們的數值替換字典中的鍵。代碼如下:
valsfile = open(' values_list.txt')
valsline = valsfile.read().splitlines()
d = {}
for i in valsline:
i = i.split(', ')
d[i[0]] = i[1]
sqlfile = open('insert_values.sql')
sqlcontents = sqlfile.read()
sqlline = sqlcontents.splitlines()
文本 = []
for i in sqlline:
for word, initial in d.items()。
i = i.replace(word, initial)
text.append(i '
')
f = open("final_sqlfile.sql", "a")
f.writelines(text)
f.close()
final_sqlfile.sql的內容如下:
insert into users(fname,lname,age) values( "Sean"/span>, "Sean"1, "Sean"11)
insert into users(fname,lname,age) values( "Bob", "Bob"2, "Bob"22)
insert into users(fname,lname,age) values( "Michael", "Michael"3, "Michael"33)
insert into users(fname,lname,age) values( "Aaron", "Aaron"4, "Aaron"44)
insert into users(fname,lname,age) values( "John", "John"5, "John"55)
uj5u.com熱心網友回復:
這預示著數值是以三為一組的。試試這個:-
with open('values_list.txt') as vlist。
with open('insert_values.sql', 'w') as sql:
vals = []
for line in vlist.readlines()。
v = line.strip().split(' ,')
if len(v) == 2:
vals.append(v[1])
if len(vals) == 3:
sql. write(f'insert into users(fname,lname,age) values({vals[0]}, {vals[1]}, {vals[2]})
')
vals=[]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/306647.html
標籤:
上一篇:如何在pandas中復制資料幀
