问题描述
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',','
都可以试一下