我有一個文本文件,它有很多行。我想提取某些行並將它們寫入CSV文件。但是,我想將特定的行寫入CSV文件中的同一行。例如,我的文本文件是這樣的:Python:寫入CSV文件中的相同行
Name= Sarah F
Location= Baltimore MD
Name= Bob M
Location= Sacramento CA
Name= Tom M NY
Location= Brooklyn NY
Name= Anne F
Location= Morristown NJ
我的CSV文件,我想生成將包括人,他們居住在姓名,性別,城市和國家:
Sarah,F,Baltimore,MD
Bob,M,Sacramento,CA
Tom,M,Brooklyn,NY
Anne,F,Morristown,NJ
當我使用csv.writerows([list])
我得到的names
,sex
和city
,state
寫在不同的行:
Sarah,F
Baltimore,MD
Bob,M
Sacramento,CA
Tom,M
Brooklyn,NY
Anne,F
Morristown,NJ
當我嘗試追加到列表中時:[name, sex]
city
和state
覆蓋原始列表而不是追加。
這裏是我的代碼來做到這一點:
import csv
file = open("file_to_use.txt", 'r')
csv_file = open("file_to_write.csv", 'wb')
writer = csv.writer(csv_file)
Row_lines =[]
for line in file:
if line.startswith("Name="):
name_line = line.replace(" ", ",")
name_line = name_line.strip("\n")
Row_lines.append(name_line)
if line.startswith("Location="):
loc_line = line.replace(" ", ",")
loc_line = loc_line.strip("\n")
Row_lines.append(loc_line)
writer.writerows(Row_lines)
csv_file.close()
我知道我有不正確的地方一定的邏輯順序,但我似乎無法弄清楚。
'Name ='和'Location ='行總是在輸入文件中交替出現?輸入文件中是否還有其他行或只有這兩種類型? –