2017-03-02 1 views
0

私は、複数のURLのクエリ部分を含むデータフレームを持っています。パンダの異なる列にテキストをパースする

たとえば、

in=2015-09-19&stars_4=yes&min=4&a=3&city=New+York,+NY,+United+States&out=2015-09-20&search=1\n 

in=2015-09-14&stars_3=yes&min=4&a=3&city=London,+United+Kingdom&out=2015-09-15&search=1\n 

in=2015-09-26&Filter=175&min=5&a=2&city=New+York,+NY,+United+States&out=2015-09-27&search=2\n 

私の希望のデータフレームは次のようになります。

in   Filter stars min a max city country out   search 
-------------------------------------------------------------------------------- 
    2015-09-19 NAN stars_4 4 3 NAN NY  US  2015-09-20  1 
    2015-09-14 NAN stars_3 4 3 NAN LONDON UK  2015-09-15  1 
    2015-09-26 175  NAN  5 2 NAN NY  US  2015-09-27  2 

は、この使用して正規表現のためのうちいずれかの簡単な方法はありますか?

ご協力いただければ幸いです。前もって感謝します!

答えて

1

間に合わせとフィックスだけでリストの内包表記を使用することです:

json_data = [{c[0]:c[1] for c in [b.split('=') for b in line.split('&')]} \ 
      for line in open('data_file.txt')] 

df = pd.DataFrame.from_records(json_data) 

これはあなたの場所の分類の問題を解決することはできませんが、あなたに動作するようにより良いデータフレームを取得します。

+0

ありがとうございます!これにより、場所の分類がはるかに簡単になります。 – Gingerbread

関連する問題