将标题和新列添加到制表符分隔文件

时间:2013-07-08 15:20:48

标签: python

我没有得到这个问题的好答案,无论是通过搜索还是等待回复,我认为这是因为我的问题的第一次迭代措辞不够。

我想要做的就是将两列添加到一个如下所示的文件中:

name    phone   email   website
Diane Grant Albrecht M.S.           
Lannister G. Cersei M.A.T., CEP 111-222-3333    cersei@got.com  www.got.com
Argle D. Bargle Ed.M.           
Sam D. Man Ed.M.    000-000-1111    dman123@gmail.com   www.daManWithThePlan.com
Sam D. Man Ed.M.            
Sam D. Man Ed.M.    111-222-333     dman123@gmail.com   www.daManWithThePlan.com
D G Bamf M.S.           
Amy Tramy Lamy Ph.D.            

所以它看起来像这样:

name    phone   email   website    area   degrees
D G Albright                                                                      M.A.          
Lannister G. Cersei 111-222-3333    cersei@got.com  www.got.com    CEP    M.A.T.
Argle D. Bargle                                                             Ed.M.           
Sam D. Man  000-000-1111    dman123@gmail.com   www.daManWithThePlan.com   Ed.M.
Sam D. Man                                                                        Ed.M.         
Sam D. Man  111-222-333     dman123@gmail.com   www.daManWithThePlan.com      Ed.M.
D G Bamf                                                                          M.S.          
Amy Tramy Lamy 

尽管在几个帖子中提到了'writeheader()'这个事实,但是当我通过一个字段列表时,它会返回一个错误。

TypeError: writeheader() takes exactly 1 argument (2 given)
logout

这是我到目前为止所拥有的:

with open('ieca_first_col_fake_text.txt','r') as input:
    with open('new_col_dict.txt','w') as output:
        dict_writer = csv.DictWriter(output, fieldnames, delimiter = '\t')
        dict_reader = csv.DictReader(input, delimiter = '\t')
        #dict_writer.writeheader(fieldnames)
        for row in dict_reader:
            print row

这不会产生包含标题的txt文件......

1 个答案:

答案 0 :(得分:0)

http://docs.python.org/2/library/csv.html#csv.DictWriter.writeheader明确了如何使用它 - 没有任何额外的争论,即:

 dict_writer.writeheader()