首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是python编程的基础吗?

这是python编程的基础吗?
EN

Stack Overflow用户
提问于 2014-01-10 02:05:54
回答 3查看 109关注 0票数 0

我使用了这个:

代码语言:javascript
复制
f=open('mark.txt','r')
print f.read()

输出:

代码语言:javascript
复制
Name;age;year
Mark;19;3rd Year

我如何使用python替换上面的代码,这样输出结果将是:

代码语言:javascript
复制
Name     Age        Year
Mark     19     3rd Year

我在这个站点找到了下面的代码,但是我怎么才能运行输出呢?输出结果是空白的。

代码语言:javascript
复制
f1=open('mark.txt','r')
f2=open('mark.txt.tmp','w')
for line in f1:
    f2.write(line.replace(';','\t'))
f1.close()
f2.close()
EN

回答 3

Stack Overflow用户

发布于 2014-01-10 02:33:51

在我看来,处理数据文件的最好方法是使用csv module

将输出写入文件

代码语言:javascript
复制
import csv

with open('mark.txt', 'rb') as data_file, open('output.txt', 'wb') as out_file:
    reader = csv.reader(data_file, delimiter=';')
    writer = csv.writer(out_file, delimiter='\t')
    writer.writerows(list(reader))

在您的文件中将;替换为\t

代码语言:javascript
复制
import csv
import shutil

with open('mark.txt', 'rb') as data_file, open('mark.txt.tmp', 'rb') as out_file:
    reader = csv.reader(data_file, delimiter=';')
    writer = csv.writer(out_file, delimiter='\t')
    writer.writerows(list(reader))

shutil.move('mark.txt.tmp', 'mark.txt')

\t代替;打印文件内容

代码语言:javascript
复制
import csv

with open('mark.txt', 'rb') as data_file:
    reader = csv.reader(data_file, delimiter=';')
    for row in reader:
        print '\t'.join(row)
        #print('\t'.join(row)) in Python 3
票数 3
EN

Stack Overflow用户

发布于 2014-01-10 02:21:12

代码语言:javascript
复制
with open('mark.txt') as in_file, open('mark.txt.tmp', 'w') as out_file:
    for line in in_file:
        out_file.write('\t'.join(line.split(';')))
票数 1
EN

Stack Overflow用户

发布于 2014-01-10 02:19:33

你可以这样做,

代码语言:javascript
复制
f=open('mark.txt','r')
for line in f.read():
    print line.replace(';', '\t')
f.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21027838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档