并非所有列表项都写入文件

时间:2016-11-02 17:09:28

标签: python-2.7 list pandas dataframe writer

这是我正在使用的代码:

import pandas as pd
import os
out = 'E:/my_projects/SWAT_Projects/NLCD2006/OriginalModels/DL_corrected2NotCopy/FutureClimate/'
devils_p = open(os.path.join(out, 'Devils_P.txt')).readlines()
FutureClimate = pd.read_csv(os.path.join(out, 'EDMA_1_rcp26_2025_1.dat'),     delimiter = '\t')
headers = [' ', 'year', 'day', 'tmin', 'tmax', 'pcp']
FutureClimate.columns = headers
df = FutureClimate.drop(FutureClimate.columns[0], axis = 1)  
precip = pd.Series.tolist(df.pcp) 
for i in precip:
    devils_p.append('%s\n' % i)     
thefile = open(os.path.join(out, 'weather.txt'), 'w')
for i in devils_p:
    thefile.write(i)

追加devils_pprecip的最终长度为33237,但是当我将其写入.txt文件时,输出长度较小:大约32400.这可能是{{{{ 1}}写得不正确?

EDIT1:如果我在追加devils_p之前将devils_p列表中的项目数量减少1000,那么一切正常。那么,问题可能与列表/ .txt文件的最大长度有关吗?

EDIT2:之前的编辑错误。在我将原始列表的长度减少3652个项目后,输出.txt文件仍然不正确(结束时间早于它应该)。

1 个答案:

答案 0 :(得分:0)

所以,我不知道为什么会出现这种错误,我认为我的编写代码部分有问题,但是我使用savetxt中的numpy解决了我的问题:

np.savetxt(os.path.join(out, 'weather.txt'), devils_p)