Python 按Dict中存储的固定宽度切片DAT文件

Python 按Dict中存储的固定宽度切片DAT文件,python,dataframe,slice,Python,Dataframe,Slice,我遇到了一些问题(已经尝试了很长时间),仍然无法独自解决。我有一个dat文件,其格式如下: abc900800007.2 我有一个dict,它包含列名作为键,以及与DAT文件的固定宽度相对应的值,我的dict类似于mydict={'col1':3'col2':8'col3':3) 我想做的是通过组合这两个项来创建一个df,从而通过dict值对DAT文件进行切片 第1列第2列第3列 abc 90080000 7.2 非常感谢您的帮助!我认为一个可能的(但取决于文件大小和内存密集型)解决方案是: d

我遇到了一些问题(已经尝试了很长时间),仍然无法独自解决。我有一个dat文件,其格式如下:

abc900800007.2

我有一个dict,它包含列名作为键,以及与DAT文件的固定宽度相对应的值,我的dict类似于mydict={'col1':3'col2':8'col3':3)

我想做的是通过组合这两个项来创建一个df,从而通过dict值对DAT文件进行切片

第1列第2列第3列

abc 90080000 7.2

非常感谢您的帮助!

我认为一个可能的(但取决于文件大小和内存密集型)解决方案是:

data={'col1':[],'col2':[],'col3':[]
对于打开的行('file.dat'):
数据['col1'].append(第[:mydict['col1']]行)
begin=mydict['col1']
end=begin+mydict['col2']
数据['col2'].append(行[begin:end])
开始=结束
end=begin+mydict['col3']
数据['col3'].append(行[开始:结束])
df=pd.DataFrame(数据)#创建数据帧
删除数据#删除辅助数据

mydict是否总是有3项?是的,只有一项dict和3项谢谢你的回答,我刚刚尝试了你的解决方案,但结果是每个字符都进入第1列(例如:a=第1行,第1列,b=第2行第1列),而不是第1列。请原谅:我犯了一个愚蠢的错误,非常感谢你的帮助!