将一个Python嵌套列表以倒序的方式写入csv文件中。

13 浏览
0 Comments

将一个Python嵌套列表以倒序的方式写入csv文件中。

这个问题已经在这里有答案:

如何使用Python写入Excel电子表格?

我有一个长长的嵌套列表,形式如下 ---

a = [[1.2,\'abc\',3],[1.2,\'werew\',4],........,[1.4,\'qew\',2]]

即列表中的值是不同类型的 -- 浮点数,整数,字符串。我该如何将其写入CSV文件,使得我的输出CSV文件看起来像

1.2,abc,3
1.2,werew,4
.
.
.
1.4,qew,2

这可以很容易地通过这段代码来实现:

你可以使用 pandas

In [1]: import pandas as pd
In [2]: a = [[1.2,'abc',3],[1.2,'werew',4],[1.4,'qew',2]]
In [3]: my_df = pd.DataFrame(a)
In [4]: my_df.to_csv('my_csv.csv', index=False, header=False)

但我想要以这种格式:

1.2 1.2 . . . 1.4
abc wer . . . qew
3   4   . . . 2

admin 更改状态以发布 2023年5月24日
0
0 Comments

尝试这个。这只是一个概念证明,但你可以把它包装进你需要的任何东西中:

a = [[1.2,'abc',3],[1.2,'werew',4],[1.4,'qew',2]]
# Rotate
rotated = zip(*a)
# Find the longest string of each set
max_lengths = [ max([ len(str(value)) for value in l ]) for l in a ]
# Generate lines
lines = []
for values in rotated:
    items = []
    for i, value in enumerate(values):
        value_str = str(value)
        if len(value_str) < max_lengths[i]:
            # Add appropriate padding to string
            value_str += " " * (max_lengths[i] - len(value_str))
        items.append(value_str)
    lines.append(" ".join(items))
print "\n".join(lines)

它的输出为:

1.2 1.2   1.4
abc werew qew
3   4     2

0