gpt4 book ai didi

python - 如何打开文件夹并将文本文件放入数据框中并根据文件名重命名数据框?

转载 作者:太空宇宙 更新时间:2023-11-04 10:10:29 25 4
gpt4 key购买 nike

我正在尝试打开一个包含多个文本文件的文件夹,并将每个文件放入其自己的数据框中,并按文件名命名每个数据框。

到目前为止,我的代码可以识别文件夹中的 5 个文件,但不会根据文件名将文件中的数据放入数据框中。有人可以告诉我该怎么做吗?

代码: 导入操作系统 将 Pandas 导入为 pd 导入 pypyodbc

loc = 'D:/filepath to folder with files'
os.chdir(loc)
filelist = os.listdir()
#print (len((pd.concat([pd.read_csv(item, names=[item[:-4]]) for item in filelist],axis=1))))

data = []
path = loc
files = [f for f in os.listdir(path) if os.path.isfile(f)]
for f in files:
with open(f,'r') as myfile:
data.append(myfile.read())

df = pd.DataFrame(data)
print (df.shape)

提前谢谢你

-编辑-文件中数据的外观:

0010010000013   1   CITY OF HOUSTON     1.000
0010020000001 1 CURRENT OWNER 1.000
0010020000003 1 MILBY CHARLES FAMILY PTNSH 1.000
0010020000004 1 FEAGIN MICHAEL RYAN TRUST 1.000
0010020000013 1 BUFFALO BAYOU PARTNERSHIP 1.000
0010020000015 1 BUFFALO BAYOU PARTNERSHIP 1.000
0010020000016 1 USRP PAC LP SPAGHETTI WAREHOUSE 1.000
0010020000023 1 CITY OF HOUSTON 1.000
0010020000024 1 LUISA MILBY FEAGIN 2007 TRUST 1.000
0010030000001 1 BUFFALO BAYOU PARTNERSHIP 1.000

-编辑-最终答案

dfs = {os.path.basename(f): pd.read_csv(f, sep='\t', header=None,encoding='cp037',error_bad_lines=False) for f in glob.glob('D:/TX/Houston_County/Real_acct_owner/*.txt')}

最佳答案

像这样的东西应该创建一个字典,其中每个键(= 文件名)保存具有相应文件内容的数据框。

filedfs = {}
for f in files: filedfs[f] = pd.read_csv(os.path.join(loc, f))

或者,作为 @MaxU 提议的单行代码:

dfs = {os.path.basename(f): pd.read_csv(f, delim_whitespace=True, header=None) for f in glob.glob('c:/data/*.csv')}

关于python - 如何打开文件夹并将文本文件放入数据框中并根据文件名重命名数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38661182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com