2017-01-20 1 views
0

私のPythonスクリプトは、Excelファイルのテキストを解析しました。 Excelファイルから空白文字を取り除き、区切り文字を ( ":" - > "、")から に変更し、スクリプト出力をCSVファイルに変更します。データの多くはthis (Excelのデータはどのように見えるか)のように見えます。pythonスクリプトでヘッダー名のない列をマージするにはどうすればいいですか?

余分なカンマが2つあるために1つの列で区切られています。

CSV ==カンマ区切りの値。

私はifステートメントを使用してショアアップを追加または減算しようとしましたが、最初の相対的な順序を完全に台無しにしてしまいます。

pipを使ってpandasライブラリ(データ操作ライブラリ)をインストールしてみてください。

の列が1つのデータフレーム内にの列ヘッダーをマージすることは可能ですか?別々のDataFramesについてのアドバイスはたくさんありますが、1つのデータフレームについては多くのことがあります。

さらに、行の位置を保持したまま列をマージできます。電子メールは正しい行の位置にありますが、列の位置にはありません。

または私は間違ったトラックに完全に入っていますか?簡単な構文解析スクリプトのためのパンダ過度ですか?私はスクリプトを完成させるために一緒に行くように私はそれを行う簡単な方法を逃したかもしれないので、Pythonを学んできました。

いくつかのサンプルデータ:

C5XXEmployeeNumXX,C5XXEmployeeNumXX,JohnSmith,1,,John,,Smith,,IT Supp.Centre,EU,,London1,,,59XXXX,ITServiceDesk,LOND01,,,,Notmaintained,,,,,,,,[email protected], 

スニペットあなたはユーザー好みのセパレーター/区切りロジック

for line in f: 

    #finds the identifier for users 
    if ':LON ' in line: 

     #parsing logic. 
     #Delimitters are swapped. Whitespace is scrubbed 
     line = line.replace(':', ',') 
     line = line.replace(' ', '') 
+1

サンプルデータを投稿できますか? – IanS

+0

@IanSもちろん。私は質問にそれを掲示するでしょう。 – greenbai

+0

あなたのコードを表示し、それが何をするのに不満を持っているのか正確に説明できますか? – IanS

答えて

0

をすることができます解析します。チェックアウト:https://docs.python.org/2/library/csv.html#csv.Dialect.delimiter

また、注文に関して、あなたがリストを読んでいるならそれはうまくいくはずですが、あなたが辞書の行の内容を読んでいるのであれば、その注文は保存されていないのが普通です。

関連する問題