【发布时间】:2014-12-20 12:18:04
【问题描述】:
我有一些看起来像这样的数据:
c stuff
c more header
c begin data
1 1:.5
1 2:6.5
1 3:5.3
我想将它导入一个 3 列数据框,例如列
a , b, c
1, 1, 0.5
etc
我一直在尝试将数据读取为在“:”上拆分的 2 列,然后在“”上拆分第一列。但是我觉得它很烦人。 有没有更好的方法直接在导入时对其进行排序?
目前:
data1 = pd.read_csv(file_loc, skiprows = 3, delimiter = ':', names = ['AB', 'C'])
data2 = pd.DataFrame(data1.AB.str.split(' ',1).tolist(), names = ['A','B'])
但是,由于我的数据有前导空格,这使情况变得更加复杂......
我觉得这应该是一项简单的任务,但目前我正在考虑逐行阅读并在导入前使用一些 find replace 来清理数据。
【问题讨论】: