2016-06-19 2 views
-1

を使用してCSVファイルにログファイルを変換しますは、私が仕事で次のような問題を持っているのPython

A1,B1,C1 
A2,B2,C2 
A3,B3,C3 
... 
An,Bn,Cn 

どのように私はpythonスクリプトを使用してこれを行うことができますか?

EDIT:実際には、フォーマットは以下のようにして書かれている -

私はそれを変換することができますどのよう
Voltage: A1 
Current: B1 
Power: C1 

-

Voltage, Current, Power 
A1,B1,C1 
+3

を試してみましたか?あなたが書いたコードを投稿してください。あなたの会社があなたに支払っていると思われるので、問題を解決するための努力を示すべきです。 – mhawke

+0

ログファイルの形式について詳しく説明します。フォーマットがあなたが書いたものと全く同じであれば、ファイルの最後の行から 'n'の値を見つけて、単にcsvファイルを作成するだけです。ログファイルの残りを見る必要はありません。または、あなたが含まなかったものがありますか? –

答えて

1
import csv 

with open('myfile.log') as file: 
    lines = file.read().splitlines() 
    lines = [lines[x:x+3] for x in range(0, len(lines), 3)] 

    with open('yourcsv.csv', 'w+') as csvfile: 
     w = csv.writer(csvfile) 
     w.writerows(lines) 

あなたは何をしてドットがまだ存在していると、彼らが値として扱われます(そう、彼らはあまりにもカンマで区切ってのことでしょう)ことを注意

-1

numpyのを使用して簡単な解決策:

import numpy as np 

data = np.genfromtxt("d.csv", dtype=str) 
data = np.reshape(data, (3,-1)) 
np.savetxt('data.csv', data, delimiter=',', fmt="%s") 

結果:

A1,B1,C1 
A2,B2,C2 
An,Bn,Cn 

numpyを使用していない場合は、試したコードを投稿してください。

+0

Downvoter:理由を自由にコメントできますか? :) –

関連する問題