gpt4 book ai didi

Python-将值附加到列表列表中的每个子列表

转载 作者:行者123 更新时间:2023-12-01 01:30:05 25 4
gpt4 key购买 nike

我有一些很长的数据集,我试图用 numpy 读取这些数据集,并将一个值附加到每一行,然后输出为 CSV。最终目标是从同一文件中分割出多个测量值,因此我需要某种方法来标记每个测量值。我想出了这个:

def csv_test(data_file):
data_nd = np.genfromtxt(str(data_file),
delimiter=";",
usecols=(-3, -2, -1),
dtype=None)
data = np.ndarray.tolist(data_nd)
output = []
sub_output = []
sub1 = str(1)
for i in data:
sub_output.append(i)
sub_output.extend(sub1)
output.append(sub_output)
print(output)
x_val = 1
x_string = str(x_val)
filename_out = str("temp_" + x_string + ".csv")
with open(filename_out, "w") as f:
writer = csv.writer(f)
for sublist in output:
writer.writerows(sublist)

问题是我的输出如下所示:

[[[0.0, -0.051, -1.525651e-07], '1', ...

不喜欢

[[[0.0, -0.051, -1.525651e-07, '1'] ...

因此,在 CSV 写入步骤中,添加的值会换行。如何将其附加到列表中的子列表?

示例数据:

0;0.000000;-0.050;-6.900140e-008
0;0.100000;-0.050;-6.843410e-008
0;0.200000;-0.050;-6.778820e-008
0;0.300000;-0.050;-6.654330e-008
0;0.400000;-0.050;-6.598800e-008
0;0.500000;-0.050;-6.497330e-008
0;0.600000;-0.050;-6.415210e-008
0;0.700000;-0.050;-6.349080e-008
0;0.800000;-0.050;-6.181810e-008
0;0.900000;-0.050;-6.148080e-008
0;1.000000;-0.050;-6.032090e-008

最佳答案

问题是您应该将 str(1) 附加到 i,而不是 sub_output:

for i in data:
sub_output.append(i + [sub1])
# sub_output.extend(sub1) <-- you don't need this line.

请注意,我们没有使用 i.append(sub1),因为 append() 方法返回 None。您希望将 i 的完整列表 + sub1 的单项 list 附加到您的 sub_output 中。

关于Python-将值附加到列表列表中的每个子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52974784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com