请帮忙,我有一个看起来像这样的文本文件:
ID: 000001
Name: John Smith
Email: jsmith@ibm.com
Company: IBM
blah1: a
blah2: b
blah3: c
ID: 000002
Name: Jane Doe
Email: jdoe@ibm.com
Company: IBM
blah1: a
blah2: b
blah3: c
ID:000003
.
.
.
etc.
请注意,每个客户的信息在 7 行中。ID:000002 标志着下一个客户的开始,000003 标志着下一个客户的开始,依此类推。
我希望我的输出文件是这样的(而不是下一行中的每个客户的数据,将每个 ID 和后续 7 行转置为列):
ID: 000001,Name: John Smith,Email: jsmith@ibm.com,Company: IBM, blah1: a,blah2: b,blah3: c
ID: 000002,Name: Jane Doe,Email: jdoe@ibm.com,Company: IBM,blah1: a,blah2: b,blah3: c
我不确定这是否是最简单的技术,我尝试使用 list 但这似乎不适用于我的目的。我知道我的代码并不优雅,但这只是为了让我自己和另一个人自动化一些数据操作。我真的不需要任何时尚的东西,只要它有效。
#!/usr/bin/python
# open file
input = open ("C:\Documents\Customer.csv","r")
#write to a new file
output = open("C:\Documents\Customer1.csv","w")
#Read whole file into data
data = input.readlines()
list = []
for line in data:
if "User Id:" in line:
list.append(line)
if "User Email:" in line:
list.append(line)
if "Company:" in line:
list.append(line)
if "Contact Id:" in line:
list.append(line)
if "Contact Name:" in line:
list.append(line)
if "Contact Email:" in line:
list.append(line)
print list
import os
output.write("\n".join(list))
# Close the file
input.close()
output.close()
我的输出文件包含转义字符,并且一些客户被多次添加。