<p>我不确定熊猫是否能做到,但我自己采取了一种很长的方法(也没那么糟糕)把钥匙分开。在</p>
<p>代码:</p>
<pre><code>import pandas as pd
from io import StringIO
#Mimic opening a file with StringIO
in_file = StringIO(u"""\
key1=abc||key2=ajdskj||name=ankush||contact=123444
key1=def||name=reddy||contact=456778
key1=aef||address=ashaskawe||name=john
""")
#First loop through the lines to find all the fields
#Also store each line info as a dict
all_line_dicts = []
all_fields = set()
for line in in_file.readlines():
line_dict = dict(pair.split('=') for pair in line.strip().split('||'))
all_line_dicts.append(line_dict)
all_fields = all_fields.union(line_dict.keys())
#Now loop through the line dicts and fill each field
#Put 'NULL' if the field is not given
field_dicts = {field:[] for field in all_fields}
for line_dict in all_line_dicts:
for field in field_dicts:
field_dicts[field].append(line_dict[field] if field in line_dict else 'NULL')
#Convert to dataframe by pandas for simplicity
df = pd.DataFrame(field_dicts)
print df #<-- look at it
df.to_csv('test.csv',index = False) #<-- save it as a CSV
</code></pre>
<p>输出:</p>
^{pr2}$