如何以特定格式输出Tab delimated文件

时间:2015-08-08 10:22:11

标签: python python-2.7

请问如何将数据输出到列中的新文件或现有文件中,我尝试创建列表并使用带变量的.append()但不起作用 数据看起来像:

ABC. DEF. GHI. JKL.

到目前为止,这是我的代码:

try:
    first_input = raw_input('Enter Filename:')
    data = first_input
    openfile = open(data,'r')
    openfile = open(data,'a')
    author = raw_input('Enter Author Name:')
    title = raw_input('Enter Title Name:')
    year= raw_input('Enter year:')
    Journal = raw_input('Enter Journal:')
except IOError:
    openfile = open(data,'a')
    author = raw_input('Enter Author Name:')
    title = raw_input('Enter Title Name:')
    year= raw_input('Enter year:')
    Journal = raw_input('Enter Journal:)

输出应以制表符分隔,如下所示:

author. title. year. journal    with the '.' 

2 个答案:

答案 0 :(得分:1)

您只需使用csv模块,将分隔符指定为tab delimiter="\t"并为每个字符串添加句点:

import csv
first_input = raw_input('Enter Filename:')
data = first_input
author = raw_input('Enter Author Name:')
title = raw_input('Enter Title Name:')
year= raw_input('Enter year:')
Journal = raw_input('Enter Journal:')

with open(data,"a") as f: 
    wr = csv.writer(f,delimiter="\t")
    wr.writerow([author+".",title+".",year+".",Journal+"."])

输入:

Enter Filename:test.csv
Enter Author Name:foo
Enter Title Name:foobar
Enter year:2015
Enter Journal:foobar

test.csv:

foo.    foobar. 2015.   foobar.

答案 1 :(得分:0)

我无法理解你想要什么,  但是让我看看。 打开并写入文件(或追加现有)在open()函数中使用'a'参数。在处理文件流时,您应该使用构造:

with open('filename.txt', 'a') as my_file:
    my_file.write('anything you want as string')
my_file.close()

另一点是让字符串由tab分隔的值组成:

val_1 = 'Name'
val_2 = 'Age'
val_3 = 'Yes'

首先,您需要创建一个列表并将此值作为列表成员(而不是将其分配给字符串变量):

my_list = []
my_list.append('Name')
my_list.append('Age')
my_list.append('Yes')

然后从列表中创建sting并指示您需要使用tab的单独值:

'\t'.join(my_list)

这会产生刺痛:'名字年龄是'

结合这些知识来制作自己的代码。并且不要犹豫,使用其他资源来获取更多信息:http://www.tutorialspoint.com/python/python_lists.htm