我有一个大的.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文件中,其顶部是列名,下面是值。
感谢。
答案 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)
参考文献:
答案 1 :(得分:0)
我建议你不要用Python做这件事。我需要为迁移执行类似的操作,最后我从Python脚本中运行了Sed。 我可以向你保证,花一点时间学习如何使用Sed会有所回报。 http://www.grymoire.com/Unix/Sed.html 如果你在Unix上它可能已经存在,如果你在Windows上,你可以得到Cygwin。