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

Not all list items are written to a file

这是我正在使用的代码:

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)

追加 precipdevils_p 的最终长度为 33237,但是当我将其写入 .txt 文件时,输出长度较小:大约 32400。这可能是什么原因devils_p 是不是写错了?

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

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

所以,我不知道为什么会发生这个错误,我假设我编写的代码部分有问题,但我通过使用 numpy:[=13 中的 savetxt 解决了我的问题=]

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