繁体   English   中英

如何从位于指定文件夹中的一个文件(具有任何文件名)创建一个 Pandas 数据框?

[英]How to create a pandas dataframe from one file (with any file name) located in a specified folder?

从位于指定文件夹中的任何文件名的文件创建 Pandas 数据框的最佳方法是什么?

我使用了 pathlib 并且它不太工作,因为输出数据框没有给我任何东西。

from pathlib import Path
import pandas as pd

pth = r'C:\Users\HP\Desktop\IBM\New folder'
fle = Path(pth).glob('*.tsv')

someDf = pd.DataFrame(fle)
someDf

编辑:

我也尝试执行以下操作,但输出数据帧将所有列合并为一列,以反斜杠分隔。 我该如何解决?

from pathlib import Path
import pandas as pd

pth = r'C:\Users\HP\Desktop\IBM\New folder'
fle = Path(pth).glob('*.tsv')

dfs = []
for filename in fle:
    dfs.append(pd.read_csv(filename))

dfs1 = pd.concat(dfs)
dfs1.head()

在此处输入图片说明

我这样做的方式似乎很复杂。 有没有更简单的方法来做到这一点?

请尝试:

from pathlib import Path
import pandas as pd
import os
pth = r'C:\Users\HP\Desktop\IBM\New folder'
for file_ in os.listdir(pth):
    h=os.path.join(pth, file_)
    #print (h)
someDf = pd.read_csv(h)
someDf

尝试

from glob import glob
files = glob('C:\Users\HP\Desktop\IBM\New folder\*.tsv')
if len(files) == 1:
    dfs = pd.read_csv(files[0], sep='\t')
else:
    dfs = pd.concat([pd.read_csv(file, sep='\t') for file in files])

我为此找到的解决方案如下。 我错过了pd.read_csv()sep参数。

from pathlib import Path
import pandas as pd

pth = r'C:\Users\HP\Desktop\IBM\New folder'
fle = Path(pth).glob('*.tsv')

dfs = []
for filename in fle:
    dfs.append(pd.read_csv(filename, sep='\t'))

dfs1 = pd.concat(dfs)
dfs1.head()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM