【发布时间】:2017-02-18 15:30:42
【问题描述】:
我正在尝试根据一系列数据生成一个 csv 文件:int、float、string、字符串列表、float 列表:
temp = 15.3
id = '98'
tags = ['b34s', '7eo9', '7w49']
hum = 1.89
x_data = [32,87,87,742,342,7.2,992,...]
y_data = [65.3,89.7,458.8,589,529,8789,489,...]
x_data 和 y_data 列表可能有数千个元素。我希望生成的文件如下所示:
|temp|id|tags|hum.|x_data|y_data|
|15.3|98|b34s|1.89| 32| 65.3|
| | |7eo9| | 87| 89.7|
| | |7w49| | 87| 458.8|
| | | | | 742| 589|
| | | | | 342| 529|
| | | | | 7.2| 8789|
| | | | | 992| 489|
| | | | | ...| ...|
如您所见,csv 由列组成。有些列只包含一条数据,有些则更多。我试图通过使用 csv 库来实现这一点。但是,由于要存储的数据类型不同,writerow 方法似乎不合适。我尝试使用熊猫,但在添加不同长度的列时遇到问题。要么该列最终由我提供的一个值填充(在这种情况下,应该只填充第一行),要么剩余的行由 NaN 填充。
您能否建议如何解决这个问题?
【问题讨论】:
-
您可以在空值的位置添加空格。你不能吗?
-
以这种方式存储数据并没有什么意义。列表中的类型不同这一事实应该不是问题,您只需要它们具有相同的长度即可。
-
这是一个不寻常的数据文件设置,因为通常大多数单元格都被填充,尤其是像 id 这样的指示字段。好奇这个文件将如何使用? xdata 和 ydata 有什么关系?它们的长度是否相同,是否是 标签 长度的倍数? Pandas 可以作为 NaN 填充或离开。