2017-06-09 114 views
0

我是編程的初學者,但對於荷蘭文本分類實驗,我想將csv文件的每個實例(行)轉換爲單獨的.txt文件,以便文本可以通過NLP工具進行分析。我的csv看起來像這樣。使用Python將數據csv文件轉換爲不同的文本文件

enter image description here

正如你所看到的,每個實例在列「Taaloefening1」或列「Taaloefening2」文本。現在我需要將每個實例的文本保存在.txt文件中,並且文件的名稱需要是id和標籤。 我希望能通過使用csv模塊編寫Python腳本來自動完成此操作。我對如何將文本保存到.txt文件有一個想法,但我不知道如何將與文本匹配的id和標籤作爲文件名。 任何想法?

+1

的['csv'(https://docs.python.org/3/library/csv.html)模塊包含了一些有用的工具。 – Kendas

+0

@Kendas,'csv'模塊是否也適用於'xls'格式? –

+0

@ÉbeIsaac我不確定,但可以肯定的是,我會將文件導出爲「csv」格式。 – Kendas

回答

1

csv.DictReader應該能夠做你的需要:

from csv import DictReader 

INPUT_FILE = 'data.csv' 

with open(INPUT_FILE, 'rb') as csvfile: 
    reader = DictReader(csvfile) 
    for row in reader: 
     file_name = "{}_{}.txt".format(row["id"], row["Label"]) 
     if row["Taaloefening1"]:  # if this field is not empty 
      line = row["Taaloefening1"] + '\n' 
     elif row["Taaloefening2"]: 
      line = row["Taaloefening2"] + '\n' 
     else: 
      print("Both 'Taaloefening2' and 'Taaloefening2' empty on {}_{}. Skipping.".format(row["id"], row["Label"])) 
      continue 
     with open(file_name, 'w') as output: 
      output.write(line) 
相關問題