чтение файла в Python - PullRequest
       6

чтение файла в Python

6 голосов
/ 01 ноября 2010

Я новичок в 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  

Также есть способ найтиразница в количестве дней между двумя датами.

Ответы [ 2 ]

19 голосов
/ 01 ноября 2010

Не работает ли такая же техника для модулей 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']

Для расчета количества дней используйте модуль datetime: http://docs.python.org/library/datetime.html

>>> import datetime
>>> k = datetime.date(2010, 05, 26) - datetime.date(2010, 02, 10)
>>> k.days
105
>>> 
7 голосов
/ 01 ноября 2010

Для простых задач вы можете просто использовать метод str.split(). split() принимает разделитель в качестве параметра, но разделяет пробел, если ничего не указано.

>>> lin="a b c d"
>>> lin.split()
['a', 'b', 'c', 'd']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...