我正在尝试将一个ASCII文件逐行读取到一个数据帧中。你知道吗
我写了以下脚本:
import pandas as pd
col_labels = ['Sg', 'Krg', 'Krw', 'Pc']
df = pd.DataFrame(columns=col_labels)
f = open('EPS.INC', 'r')
for line in f:
if 'SGWFN' in line:
print('Reading relative permeability table')
for line in f:
line = line.strip()
if (line.split() and not line.startswith('/') and not line.startswith('--')):
cols = line.split()
print(repr(cols))
df=df.append(cols)
print('Resulting Dataframe')
print(df)
我正在分析的文件如下所示:
SGWFN
--Facies 1 Drainage SATNUM 1
--Sg Krg Krw J
0.000000 0.000000 1.000000 0.000000
0.030000 0.000000 0.500000 0.091233
0.040000 0.000518 0.484212 0.093203
0.050000 0.001624 0.468759 0.095237
/
我希望为每个数据帧行添加四个值。相反,它们被添加为列,如下所示:
Resulting Dataframe
Sg Krg Krw Pc 0
0 NaN NaN NaN NaN 0.000000
1 NaN NaN NaN NaN 0.000000
2 NaN NaN NaN NaN 1.000000
3 NaN NaN NaN NaN 0.000000
4 NaN NaN NaN NaN 0.030000
5 NaN NaN NaN NaN 0.000000
6 NaN NaN NaN NaN 0.500000
有人能解释一下我做错了什么吗?你知道吗
谢谢! D级
我建议创建空列表
L
,并在循环中追加值,最后一次调用DataFrame构造函数:您的解决方案应该通过使用指定索引附加
Series
来更改:相关问题 更多 >
编程相关推荐