2016-09-13 20 views
0

サイズが100*512のCSVファイルがありますので、それをさらに処理したいのはsparkです。ファイルの問題点は、ヘッダーが含まれていないことです。つまり、column namesです。さらなるETLのためにこれらの列名がmachine learningに必要です。私は別のファイル(テキストファイル)に列名を持っています。上記のcsvファイルにこれらの列名をヘッダーとして入れる必要があります。例: csvファイルにヘッダーを追加する

CSVファイル: -

AB 1 23、SF 23 HJH

HS 6 89 IU 98 ADF

GH 7 78、π54 NGJ

JH 5 22 KJ 78 JDK

列ヘッダーファイル: -

1、2、3、4、5、6

私はこのような出力たい: -

AB 1 23平方フィートを23のHJH

HS 6 89 IU 98 ADF

GH 7 78 54 PI NGJ

JH 5 22 KJ 78 JDK

CSVファイルに列ヘッドを追加するために、いくつかの方法を提案してください。(CSVファイルの行を置き換えることなく。 pandasデータフレームに変換してみましたが、期待される出力が得られませんでした。

+1

csvデータをファイルに追加する前に、ヘッダを含む行を書きます。何を試しましたか? –

+0

csvファイルの行を置き換えずに_を指定するとどういう意味ですか? –

答えて

2

まず、あなたのcsvファイルを読み込みます)使用:

df.columns = ['a', 'b'] 

書き込み、あなたがそれを使用することができます

df.to_csv('test_2.csv') 
+0

素晴らしい!これは短く甘いです。 –

+0

Writerという名前のNo Module – venkat

+0

あなたが使っているパッケージと関係があると思います。上記のコードは、Writerという名前のパッケージ/モジュールを使用しません。あなたのコードへのリンクを教えてください。 –

1

のUnix:

cat header_file.csv data_file.csv > data_file.csv 

Windowsの場合:データセット内の2つのカラム(列がある場合

from pandas import read_csv  
df = read_csv('test.csv') 

、および列B:

type header_file.csv data_file.csv > data_file.csv 
+0

ヘッダーファイルが.csv形式ではありません! –

+0

はい、そうです。各ヘッダー要素の間にカンマがあります。 – GreenAsJade

2

をCSVには、この新しいデータフレーム:

import csv 

    with open('names.csv', 'w') as csvfile: 
     fieldnames = ['first_name', 'last_name'] 
     writer = csv.DictWriter(csvfile, fieldnames=fieldnames) 

     writer.writeheader() 
     writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'}) 
     writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'}) 
     writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'}) 
0

ビットのデモの...

コンテンツ古い方法。CSVの前に列:xyz.txtの

4444,Drowsy,bit drowsy 
45888,Blurred see - hazy,little seeing vision 
45933,Excessive upper pain,pain problems 
112397013,air,agony 
76948002,pain,agony 

内容:

:コメントdemo.csvのインライン

#Open CSV file 
with open("demo.csv", "r+") as f: 
    #Open file which has header 
    with open("xyz.txt",'r') as fh: 
     #Read header 
     header = fh.read() 
     #Read complete data of CSV file 
     old = f.read() 
     #Get cursor to start of file 
     f.seek(0) 
     #Write header and old data to file. 
     f.write(header+ "\n" + old) 

コンテンツと

Col 1,Col 2,Col 3 

コード

Col 1,Col 2,Col 3 4444,Drowsy,bit drowsy 45888,Blurred see - hazy,little seeing vision 45933,Excessive upper pain,pain problems 112397013,air,agony 76948002,pain,agony 
関連する問題