将txt文件读取为从列表中选择的数据帧时出错-python/panda



我目前正在学习,我不了解关于python/panda的很多细节。因此,可能有一个简单的解决方案。

目前我正在尝试做的是在一个选择目录中列出txt文件,然后能够通过编号/索引来选择它们。然后将其作为数据帧读取,让我对其运行数据分析。

例如

  1. 用户输入目录->代码列出文件夹/目录中的文件
0.text.txt
1.text2.txt
  1. 用户应该能够按索引/编号选择文件
Select file number:
0
  1. 并且所选文件将作为数据帧传递

以下是我迄今为止尝试的内容:

#user inputs directory
input_dir = input(r'Enter location of INPUT folder: ')

#list filenames and select file by number selection.
filelist = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))]
for cnt in range(len(filelist)):
filename = filelist[cnt]
print (cnt, filename)
choice = input("select file number: ")
# open the file based on the key input by user
df = pd.read_csv(filelist[int(choice)])

输出:

0 test.txt
1 test2.txt

然而,在选择一个索引后,我不断得到相应的错误:

handle = open(
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
df = pd.read_csv(f"{input_dir}/{filelist[int(choice)]}")

您需要提供文件的路径

另一种方法是使用os.path.join(input_dir, f),就像在filelist = ...中使用的一样

所以它会像这个

# open the file based on the key input by user
df = pd.read_csv(os.path.join(input_dir, filelist[int(choice)]))

相关内容

  • 没有找到相关文章

最新更新