在Python中读取文件

发布于 2024-09-29 20:37:03 字数 307 浏览 3 评论 0原文

我是Python新手,一直使用它来处理图形,但从未解决过其他问题。我的问题是如何读取这个以制表符或空格分隔且在 python 中具有标题的文件,我知道如何执行逗号分隔文件但没有执行此操作?

ID  YR  MO  DA  YrM  MoM  DaM  
100  2010  2  20  2010  8  2010  30  
110  2010  4  30  2010  9  2010 12     
112  2010  8  20  2010  10  2010  20  

还有一种方法可以找到两个日期之间的天数差异。

I am new to python been using it for graphics but never done it for other problems. My question is how to read this file which is tab or space delimited and has headers in python, i know how to do comma delimted file but not done this on?

ID  YR  MO  DA  YrM  MoM  DaM  
100  2010  2  20  2010  8  2010  30  
110  2010  4  30  2010  9  2010 12     
112  2010  8  20  2010  10  2010  20  

Also is there a way to find the difference of number of days between two dates.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瀟灑尐姊 2024-10-06 20:37:03

同样的技术对于 csv 模块不起作用吗?

import csv
reader = csv.reader(open("filename"), delimiter="\t")

分隔符可以是“\s”或“\t”。

您也可以这样使用DictReader:

f = open(filename, '')
try:
    reader = csv.DictReader(f)
    for row in reader:
        print row
finally:
    f.close()

您还可以使用强力技术

for line in open(filename):
    listWords = line.split("\t")

分割函数:

>>> t = 'ID YR MO DA YrM MoM DaM'
>>> t.split(" ")
['ID', 'YR', 'MO', 'DA', 'YrM', 'MoM', 'DaM']

要计算天数,请使用日期时间模块:http://docs.python.org/library/datetime.html

>>> import datetime
>>> k = datetime.date(2010, 05, 26) - datetime.date(2010, 02, 10)
>>> k.days
105
>>> 

Does the same technique for csv modules does not work?

import csv
reader = csv.reader(open("filename"), delimiter="\t")

Delimiter can be "\s" or "\t".

You can also use DictReader this way:

f = open(filename, '')
try:
    reader = csv.DictReader(f)
    for row in reader:
        print row
finally:
    f.close()

you can also use brute force technique

for line in open(filename):
    listWords = line.split("\t")

Split function:

>>> t = 'ID YR MO DA YrM MoM DaM'
>>> t.split(" ")
['ID', 'YR', 'MO', 'DA', 'YrM', 'MoM', 'DaM']

For calculating no of days, use datetime module : http://docs.python.org/library/datetime.html

>>> import datetime
>>> k = datetime.date(2010, 05, 26) - datetime.date(2010, 02, 10)
>>> k.days
105
>>> 
两个我 2024-10-06 20:37:03

对于简单的任务,您只需使用 str.split() 方法即可。 split() 将分隔符作为其参数,但如果未给出分隔符,则会按空格进行拆分。

>>> lin="a b c d"
>>> lin.split()
['a', 'b', 'c', 'd']

For simple tasks, you can just use the str.split() method. split() takes the delimiter as its parameter, but splits on whitespace if none is given.

>>> lin="a b c d"
>>> lin.split()
['a', 'b', 'c', 'd']
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文