여러 텍스트 파일이있는 폴더를 열려고하고 각 파일을 자체 데이터 프레임에 넣고 각 데이터 프레임의 이름을 파일 이름으로 지정하려고합니다.데이터 프레임에 폴더 및 텍스트 파일을 열고 파일 이름을 기반으로 데이터 프레임의 이름을 바꾸는 방법은 무엇입니까?
내 코드는 폴더의 5 개 파일을 인식하지만 파일의 데이터를 파일 이름을 기반으로하는 데이터 프레임에 넣지 않습니다. 누군가 이걸하는 방법을 보여줄 수 있습니까?
코드 : 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)
로 수입 OS 수입 팬더는 파일의 데이터가 어떻게 보이는지 미리
-edit- 에 감사 :
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
-edit- 최종 답변
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')}
txt 파일의 구조는 무엇입니까? 어떻게 데이터 프레임으로 사용 하시겠습니까? 쉼표로 구분 된 값입니까? –
'for' 루프의 본문이 너무 좁습니다. 'data = []'와 데이터 프레임 인스턴스화를 루프에 넣어야합니다. – jbndlr
@JBr 파일의 데이터가 어떻게 편집되는지 확인했습니다. 나는 csv가 아닌 단지 공백으로 데이터를 원합니다. 다시 한번 감사합니다 – RustyShackleford