#将 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)还是没有反应
时间: 2024-01-02 07:05:16 浏览: 36
你的代码存在递归调用的问题。在函数中,你首先将文件路径赋值给 `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 文件。
class myDataset(Dataset): def __init__(self, csv_file, txt_file, root_dir, other_file): self.csv_data = pd.read_csv(csv_file) with open(txt_file, 'r') as f: data_list = f.readlines() self.txt_data = data_list self.root_dir = root_dir def __ien__(self): return len(self.csv_data) def __getitem__(self, idx): data = (self.csv_data[idx], self.txt_data[idx]) return data
在您提供的代码中,有两个地方出现了错误。
首先,`__ien__` 应该是 `__len__`,表示获取数据集的长度。修正后的代码如下:
```python
import pandas as pd
from torch.utils.data import Dataset
class myDataset(Dataset):
def __init__(self, csv_file, txt_file, root_dir, other_file):
self.csv_data = pd.read_csv(csv_file)
with open(txt_file, 'r') as f:
data_list = f.readlines()
self.txt_data = data_list
self.root_dir = root_dir
def __len__(self):
return len(self.csv_data)
def __getitem__(self, idx):
data = (self.csv_data.iloc[idx], self.txt_data[idx])
return data
```
其次,在 `__getitem__` 方法中,您正在尝试使用索引访问 `self.csv_data` 和 `self.txt_data`,这样会导致错误。要正确访问数据,请使用 `.iloc` 用于 DataFrame 的索引,以及使用索引访问列表。修正后的代码如下:
```python
import pandas as pd
from torch.utils.data import Dataset
class myDataset(Dataset):
def __init__(self, csv_file, txt_file, root_dir, other_file):
self.csv_data = pd.read_csv(csv_file)
with open(txt_file, 'r') as f:
data_list = f.readlines()
self.txt_data = data_list
self.root_dir = root_dir
def __len__(self):
return len(self.csv_data)
def __getitem__(self, idx):
data = (self.csv_data.iloc[idx], self.txt_data[idx])
return data
```
这样,您的代码应该能够正常运行了。请注意,我假设您使用了 PyTorch 的 `Dataset` 类来实现您自己的数据集类。如果您使用其他深度学习框架或库,可能需要相应地调整代码。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)