如何使用python将大型数据集解析为CSV文件?

时间:2013-04-15 23:13:09

标签: python csv space delimited

我有一个大的.dat文件(3gigs),其中包含以空格分隔的值。以下是第一行的第一行:

  S       201001        7            2                2                             30105                                            2  011    06   1  123                         3405   1   06  01           2    2                                      0321          1006  314           2000                                     2   222                   2 2               2     2  2          122222 11      3    094     1            M 04  200940   39072       3941    083                              22       2    2  2 2                                             110 110 00   0000000    00      000000000 000000  000      000000000000000000011                  101              1   111            1 0      1     1  1        111111                11       1    1  1 1    

我有一个备忘单,提到了列名和它们的值位置。例如:名称15-18,年龄55-56等

所以,我是python的新手,我的问题是如何使用python解析这个大型数据集并将其保存到CSV文件中,其顶部是列名,下面是值。

感谢。

2 个答案:

答案 0 :(得分:1)

安装pandas

pip install pandas

以下代码应该这样做:

import pandas as pd

data = pd.read_table('path/to/file/dataset.dat', names=['Name 15-18', 'Age', 'zipcode'])

data.to_csv('new_csv_file.csv', index=False)

参考文献:

http://pandas.pydata.org/pandas-docs/stable/io.html

答案 1 :(得分:0)

我建议你不要用Python做这件事。我需要为迁移执行类似的操作,最后我从Python脚本中运行了Sed。 我可以向你保证,花一点时间学习如何使用Sed会有所回报。 http://www.grymoire.com/Unix/Sed.html 如果你在Unix上它可能已经存在,如果你在Windows上,你可以得到Cygwin。