如何附加到两个单独的列表?

2024-10-03 19:19:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要写两个不同的列表到两个不同的.csv。你知道吗

问题是,我的代码(下面)将第二个列表附加到第一个列表(即使两个列表的列数不相同)并写入.csv。这在第二个.csv文件中完全重复。你知道吗

这是在Python3.7上使用Anaconda的Spyder3IDE在Windows上进行的模拟。你知道吗


...


specEff = switchData = []


...

switchData.append([k, totalAttenData[k][0], rxSite, sameSiteCount, rxFade, totalAttenData[k][1], totalAttenData[k][2]])

...

#%%# Save results
specEff.append([predictAheadMins, aveSpecEff])


if platform == 'win32':
    SwitchDataFile = ".\Results\SwDataFilePred2#"+"{:,}".format(predictAheadMins)+"mins.csv"
    specEffDataFile = ".\Results\SpEffDataFilePred2.csv"
elif platform == 'linux' or platform == 'linux2':
    SwitchDataFile = "./Results/SwDataFilePred2#"+"{:,}".format(predictAheadMins)+"mins.csv"
    specEffDataFile = "./Results/SpEffDataFilePred2.csv"


try:
    with open(SwitchDataFile, 'w', newline='') as outfile:
        csv.writer(outfile).writerows(switchData)
except:
    with open(SwitchDataFile, 'a', newline='') as outfile:
        csv.writer(outfile).writerow(switchData)

try:
    with open(specEffDataFile, 'w', newline='') as outfile2:
        csv.writer(outfile2).writerows(specEffData)
except:
    with open(specEffDataFile, 'a', newline='') as outfile2:
        csv.writer(outfile2).writerows(specEffData)

我希望有两个不同的csv文件存储不同的列表。你知道吗


Tags: csv列表aswithnewlineopenresultsoutfile
1条回答
网友
1楼 · 发布于 2024-10-03 19:19:36

如果在一行中初始化列表,它将创建一个列表,其中包含两个变量名:

a = b = []
a.append('a')
print(a)
print(b)

结果:

['a']
['a']

相反,您需要将其初始化两次,以获得两个列表:

a, b = [], []
a.append('a')
print(a)
print(b)

结果:

['a']
[]

相关问题 更多 >