2016-09-13 164 views
0

我有一個尺寸爲100*512的csv文件,我想在spark中進一步處理它。該文件的問題是它不包含標題,例如column names。我需要這些列名稱作爲machine learning的進一步ETL。我在另一個文件(文本文件)中有列名。我必須將這些列名稱作爲標題放在上面提到的csv文件中。 例如將標題添加到csv文件

CSV文件: -

AB 1 23 SF 23 HJH

HS 6 89 IU 98 ADF

GH 7 78 PI 54 NGJ

JH 5 22 KJ 78 JDK

列標題文件: -

一,二,三,四,五,六

我想要的輸出是這樣的: -

一二三四五六

AB 1 23 SF 23個HJH

HS 6 89 IU 98 ADF

GH 7 78 54 PI NGJ

JH 5 22千焦耳78 JDK

請提出一些方法,以列頭添加到該CSV文件。(無取代csv文件的行。 我試過將它轉換成熊貓數據框,但無法獲得預期的輸出。

+1

只需在將csv數據提供給文件之前編寫包含標題的行。你有什麼嘗試? –

+0

你是什麼意思_without替換csv文件_的行? –

回答

2

首先閱讀您的CSV文件:

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

如果在數據集中的兩列(列A,B列)使用:

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

寫這個新的數據幀到csv

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

太棒了!這是短暫而甜蜜的。 –

+0

它告訴沒有模塊名爲Writer – venkat

+0

我認爲這與您使用的軟件包有關。上面提到的代碼不使用任何名爲Writer的包/模塊。你可以請給我鏈接到你的代碼? –

1

的Unix:

cat header_file.csv data_file.csv > data_file.csv 

的Windows:

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

頭文件不是.csv格式! –

+0

是的。每個標題元素之間都有逗號。 – GreenAsJade

2

你可以使用它:

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 

內容:

Col 1,Col 2,Col 3 

代碼註釋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 
4444,Drowsy,bit drowsy 
45888,Blurred see - hazy,little seeing vision 
45933,Excessive upper pain,pain problems 
112397013,air,agony 
76948002,pain,agony