python添加新列到txt文件中并将txt转换为csv文件

问题描述

txt文件中含有三个列族,分别是sexual,utterance,label,但没有表头,原始txt文件中行ID通过空行区分。现在我们将这个txt文件添加新的一列含ID信息,并将txt文件转换为含有表头的csv文件。

具体方法

1.读取TXT,添加一列到新的TXT文件中

file_path = './file_path.txt'
save_path = './save_path.txt'
with open(file_path, encoding='utf-8) as f:
	raw_data = f.readlines

with open(save_path, 'w') as f:
    for d in raw_data:
        if d == '\n':
            did += 1
            continue
        d = str(did) + '\t' + d
        f.write(d)

注意:写入新txt文件使用open(save_path, 'w')而不是’wb’,否则会出现TypeError

2.TXT转换为CSV文件

new_csv_path = './new_csv_path.csv'
df = pd.read_csv(save_path, delimiter='\t', names=['ID', 'Speaker', 'Utteracne', 'Label'])
df.to_csv(new_csv_path, encoding='utf-8', index=False)

注意:1.如果原来的TXT文件中没有表头信息,就需要在pd.read_csv()中增加一个names=[]参数,按顺序写入表头
2.原始TXT文件用\t作分隔符,有些TXT使用逗号,空格,换行符作分割符,delimiter='\t',','都可以试一下

你可能感兴趣的:(NLP,python)