Python读写文件

时间:2019-05-09 14:44:12

标签: python

我有1,000个奇怪的文件,试图将它们合并为一个大文件。它们都是.txt文件,并且都包含相同的数据格式。

我似乎能够使用PyCharm读取每个文件中的每一行,并将其写入输出文件。我计算了行数,得出的结果是大约393,225左右,这是大致准确的(我没有手动计算)。但是,当我计算输出文件中的行数时,它只有401条,我不知道为什么它没有全部完成.....

这是我在Python中使用的当前代码:

import datetime
from pathlib import Path

start_date = datetime.date(year=2019, month=3, day=22)
end_date = datetime.date(year=2015, month=12, day=1)

list = []

if start_date == end_date:
    for n in range((end_date - start_date).days + 1):
        list.append(start_date + datetime.timedelta(n))
else:
    for n in range((start_date - end_date).days + 1):
        list.append(start_date - datetime.timedelta(n))

countFile = 0
countLines = 0

for d in reversed(list):
    date = str(d)
    path = '/Users/stephankokkas/notuploading/TESTFILES/PRICEDATA/' + date + '/Race.txt'

    raceFile = Path(path)
    if raceFile.is_file():

        with open('/Users/stephankokkas/notuploading/TESTFILES/finalRaceFile/FinalRace.txt', 'w') as outfile:
            with open(path) as infile:
                for line in infile:
                    outfile.write(line)
                    countLines = countLines + 1
                    print(line)
    else:
        print("file NOT FOUND")



print(countLines)

countLines = 0
with open('/Users/stephankokkas/notuploading/TESTFILES/finalRaceFile/FinalRace.txt', 'r') as infile:
    for line in infile:
        countLines = countLines + 1
print(countLines)

这是输出

393225
401

我不确定它们为什么不是相同的数字。...我希望它们是相同的。

打开输出文件时,数据仅在2019-03-22到2019-03-22之间变化

它似乎只是在处理找到的最后一个文件。

最有可能是显而易见的,但有些帮助将是有益的。谢谢

1 个答案:

答案 0 :(得分:0)

'w'模式打开文件时,您将其覆盖。您需要以'a'模式打开才能追加。

例如

with open('fielname.txt', 'a') as outfile:

请参见docs