使用Python将数据csv文件转换为不同的文本文件

使用Python将数据csv文件转换为不同的文本文件,python,csv,nlp,text-classification,Python,Csv,Nlp,Text Classification,我是一名编程新手,但对于荷兰文本分类实验,我想将csv文件的每个实例行转换为单独的.txt文件,以便使用NLP工具分析文本。我的csv看起来像这样 如您所见,每个实例在“Taaloefening1”列或“Taaloefening2”列中都有文本。现在我需要将每个实例的文本保存在一个.txt文件中,文件名需要是id和标签。 我希望通过使用csv模块在Python中编程一个脚本来自动实现这一点。我知道如何将文本保存到.txt文件中,但不知道如何将与文本匹配的id和标签作为文件名。 有什么想法吗?应该

我是一名编程新手,但对于荷兰文本分类实验,我想将csv文件的每个实例行转换为单独的.txt文件,以便使用NLP工具分析文本。我的csv看起来像这样

如您所见,每个实例在“Taaloefening1”列或“Taaloefening2”列中都有文本。现在我需要将每个实例的文本保存在一个.txt文件中,文件名需要是id和标签。 我希望通过使用csv模块在Python中编程一个脚本来自动实现这一点。我知道如何将文本保存到.txt文件中,但不知道如何将与文本匹配的id和标签作为文件名。 有什么想法吗?

应该能够满足您的需要:

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)

该模块包含一些有用的工具。@Kendas,csv模块也适用于xls格式吗?@ÉbeIsaac我不确定,但可以肯定的是,我会将该文件导出为csv格式。@Kendas,我试图将其另存为csv文件,但当我打开它时,列不见了,所有内容都是成行的。我是Python的初学者,可能我做错了什么。csv文件的第一行应该是id、Label、Taaloefening1、Taaloefening2,第二行是P642、PR、Terwijl。。。。。。请注意两个逗号。Excel应该有可能以这种格式保存文件,尽管我手头没有一个可以测试它的格式。