我目前正在学习,我不了解关于python/panda的很多细节。因此,可能有一个简单的解决方案。
目前我正在尝试做的是在一个选择目录中列出txt文件,然后能够通过编号/索引来选择它们。然后将其作为数据帧读取,让我对其运行数据分析。
例如
- 用户输入目录->代码列出文件夹/目录中的文件
0.text.txt
1.text2.txt
- 用户应该能够按索引/编号选择文件
Select file number:
0
- 并且所选文件将作为数据帧传递
以下是我迄今为止尝试的内容:
#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)]))