从固定宽度列转换为csv

时间:2014-12-30 19:20:49

标签: python parsing pandas

我有一个固定长度的文本文档,我想解析并输出到CSV文件,并为新创建的文档添加一个不在原始数据中的标题。下面是我根据列宽解析的代码。

import pandas as pd

path = '5010.txt'

col_specification =[(1, 12), (13, 18), (19, 26), (27, 31), (32, 39), (40, 47), (48, 57), (58, 62), (63, 67), (68, 72), (73, 77), (78, 78), (79, 83), (84, 84), (85, 86), (87, 92), 
(93, 97), (98, 98), (99, 103), (104, 104), (105, 106), (107, 112), (113, 120), (121, 128), (129, 129), (130, 131), (132, 134), (135, 139), (140, 155), (156, 171),(172, 187), (188, 203), 
(204, 213), (214, 221),]
data = pd.read_fwf(path, colspecs=col_specification)

如何将data输出到带有标题的CSV文件?

1 个答案:

答案 0 :(得分:2)

您可以使用DataFrame的to_csv方法:

data.to_csv("out_file.csv", header=["column1 title", "column2 title",...])

这会将索引(实际上是行号)保存为第一列。要禁止此行为,请将附加参数index=False传递给方法调用。