【发布时间】:2018-07-13 08:22:54
【问题描述】:
我有一个 *.txt 而以下配置:一个长标题和前面的数据。见下文
field1, field2, field3
field4, field5, field 6, field7, field8
field9, fiel10
field11, field12
1, 1.1, 1o.1
2, 0.5, 15
3, 0, 8.3
4, 2.1, 7.8
..
..
这是我编写的代码。为了从标题中保存值,我创建了一个名为“标题”的字典。
header={}
count=1
with open('file.txt') as f:
while count<4:
line = f.readline()
if count==1:
header['field1]=line.split(',')[0]
header['field2]=line.split(',')[1]
header['field3]=line.split(',')[2]
if count==2:
header['field4]=line.split(',')[0]
header['field5]=line.split(',')[1]
header['field6]=line.split(',')[2]
header['field7]=line.split(',')[3]
header['field8]=line.split(',')[4]
if count==3:
header['field9]=line.split(',')[0]
header['field10]=line.split(',')[1]
if count==4:
header['field11]=line.split(',')[0]
header['field12]=line.split(',')[1]
#Read the full data into dataframe
df= pd.read_csv('file.txt',skiprows=4,names=['Col1','Col2','Col3])
但是,我认为这不是非常有效或优雅的方式。我会很欣赏单独使用 I/O 文件指针或 Pandas 的更简单的版本。谢谢
【问题讨论】:
标签: python list pandas dictionary readline