rel*_*ima 1 python csv string loops list
我有很多列表,与气象站提供的列表完全相同.
但是,我如何将两个日常观察"合并"为一个?(第一组日常观察中可用的记录永远不会出现在第二组上).
['82294', '04/03/2002', '0000', '', '30.9', '', '', '', '26.1', '93', '1.554', '']
['82294', '04/03/2002', '1200', '24', '', '22', '', '', '', '', '', '']
['82294', '05/03/2002', '0000', '', '29.9', '', '', '', '25.62', '92.5', '0.863333', '']
['82294', '05/03/2002', '1200', '11', '', '23.2', '', '', '', '', '', '']
['82294', '06/03/2002', '0000', '', '31.6', '', '', '', '27.12', '87.5', '1.381333', '']
['82294', '06/03/2002', '1200', '0.2', '', '22.6', '', '', '', '', '', '']
['82294', '07/03/2002', '0000', '', '32.2', '', '', '', '27.6', '90.75', '1.899333', '']
['82294', '07/03/2002', '1200', '2', '', '24.6', '', '', '', '', '', '']
['82294', '08/03/2002', '0000', '', '29.3', '', '', '', '25.66', '95.25', '1.036', '']
['82294', '08/03/2002', '1200', '21', '', '24.4', '', '', '', '', '', '']
['82294', '09/03/2002', '0000', '', '31.5', '', '', '', '26.26', '95.75', '1.899333', '']
['82294', '09/03/2002', '1200', '23', '', '22.8', '', '', '', '', '', '']
['82294', '10/03/2002', '0000', '', '31.7', '', '', '', '26.94', '90.5', '2.072', '']
Run Code Online (Sandbox Code Playgroud)
您可以使用成对迭代对对进行分组,然后zip()
逐项对组进行分组,并使用它or
来选择一个非空值:
[[x or y for x, y in zip(item1, item2)]
for item1, item2 in zip(data[0::2], data[1::2])]
Run Code Online (Sandbox Code Playgroud)
data
您的输入列表列表在哪里.
生产:
[
['82294', '04/03/2002', '0000', '24', '30.9', '22', '', '', '26.1', '93', '1.554', ''],
['82294', '05/03/2002', '0000', '11', '29.9', '23.2', '', '', '25.62', '92.5', '0.863333', ''],
['82294', '06/03/2002', '0000', '0.2', '31.6', '22.6', '', '', '27.12', '87.5', '1.381333', ''],
['82294', '07/03/2002', '0000', '2', '32.2', '24.6', '', '', '27.6', '90.75', '1.899333', ''],
['82294', '08/03/2002', '0000', '21', '29.3', '24.4', '', '', '25.66', '95.25', '1.036', ''],
['82294', '09/03/2002', '0000', '23', '31.5', '22.8', '', '', '26.26', '95.75', '1.899333', '']
]
Run Code Online (Sandbox Code Playgroud)
您可以另外考虑合并,0000
并1200
以更好的方式0000
选择现在的原因.