并非所有列表项都写入文件
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)
追加 precip
后 devils_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)
这是我正在使用的代码:
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)
追加 precip
后 devils_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)