<p>此脚本将您的文本文件转换为有效的CSV文件(例如,可以用Excel读取):</p>
<pre><code>import sys
from sets import Set
if len(sys.argv) < 2:
print 'Usage: %s <input-file> <output-file>' % sys.argv[0]
sys.exit(1)
entries = []
entry = {}
# Read the input file
with open(sys.argv[1]) as input:
lines = input.readlines()
for line in lines:
# Check for beginning of new entry
if line.strip() == '///':
if len(entry) > 0:
entries.append(entry)
entry = {}
continue
# Check for presense of key
possible_key = line[:13].strip()
if possible_key != '':
key = possible_key
entry[key] = []
# Assemble the value
if key:
entry[key].append(line[13:].strip())
# Append the last entry
if len(entry) > 0:
entries.append(entry)
# 'entries' now contains a list of a dict of a list
# Find out all possible keys
all_keys = Set()
for entry in entries:
all_keys.union_update(entry.keys())
# Write all entries to the output file
with open(sys.argv[2], 'w') as output:
# The first line will contain the keys
output.write(','.join(['"%s"' % key for key in sorted(all_keys)]))
output.write('\r\n')
# Write each entry
for entry in entries:
output.write(','.join(['"%s"' % ';'.join(entry[key]) if key in entry else '' for key in sorted(all_keys)]))
output.write('\r\n')
</code></pre>