def loadDataSet(test_dir): f = open(test_dir,'r',encoding='utf-8') fname ='ts.csv' with open(fname,'w') as fine: for line in f.readlines(): line1 =line.split() PROMPT=line1[3] linew = PROMPT+"\n" fine.write(linew)
时间: 2024-01-03 08:02:58 浏览: 189
这段代码的作用是从指定目录中加载数据集,并将数据集中的一列保存到一个新的文件中。具体来说,loadDataSet 函数接收一个指定目录的参数 test_dir,然后打开这个目录中的文件,并将文件中的每一行按空格进行分割,取出第四列的数据(即 PROMPT),并将其保存到一个新的文件中。新文件的文件名为 ts.csv,使用 with open 语句打开文件,然后使用 write 函数将数据写入文件中。最后返回一个包含 PROMPT 数据的列表。需要注意的是,这段代码中并没有关闭文件的操作,需要手动进行关闭。
相关问题
#将 UTTRANSINFO.txt 文件转成了 CSV 的形式 def loadDataSet(test_dir): test_dir = (r"C:\Users\a3452\Desktop\Guangzhou_Cantonese_Scripted_Speech_Corpus_in_Vehicle\UTTERANCEINFO.txt") loadDataSet(test_dir) f = open(test_dir,'r',encoding='utf-8') fname ='ts.csv' with open(fname,'w') as fine: for line in f.readlines(): line1 =line.split() PROMPT=line1[3] linew = PROMPT+"\n" fine.write(linew)还是没有反应
你的代码存在递归调用的问题。在函数中,你首先将文件路径赋值给 test_dir
变量,然后又调用了 loadDataSet
函数,并将文件路径作为参数传递给它。这会导致函数不断地递归调用自身,直到达到递归深度限制,程序会报错并退出。
为了解决这个问题,你可以删除第二行 loadDataSet(test_dir)
,并将文件路径作为参数传递给 loadDataSet
函数。
另外,你还需要检查文件路径是否正确,以及你的程序是否有读取该文件的权限。
下面是修改后的代码:
def loadDataSet(test_dir):
f = open(test_dir,'r',encoding='utf-8')
fname ='ts.csv'
with open(fname,'w') as fine:
for line in f.readlines():
line1 =line.split()
PROMPT=line1[3]
linew = PROMPT+"\n"
fine.write(linew)
test_dir = r"C:\Users\a3452\Desktop\Guangzhou_Cantonese_Scripted_Speech_Corpus_in_Vehicle\UTTERANCEINFO.txt"
loadDataSet(test_dir)
请确保将上述代码中的文件路径替换为实际的文件路径。
#将 UTTRANSINFO.txt 文件转成了 CSV 的形式 def loadDataSet(test_dir): f = open(test_dir,'r',encoding='utf-8') fname ='ts.csv' with open(fname,'w') as fine: for line in f.readlines(): line1 =line.split() PROMPT=line1[3] linew = PROMPT+"\n" fine.write(linew)
这个函数是用来将一个名为 UTTRANSINFO.txt 的文件转换成 CSV 格式的函数。它首先打开 UTTRANSINFO.txt 文件,然后创建一个名为 ts.csv 的新文件。接着,它读取 UTTRANSINFO.txt 文件的每一行,将其分割成一个列表 line1,其中第四个元素是需要提取的信息。然后将该信息写入到 ts.csv 文件中。最后,该函数返回生成的 CSV 文件。
阅读全文
相关推荐















