将Python列表写入反向位置的csv文件

将Python列表写入反向位置的csv文件,python,python-3.x,csv,dataframe,file-io,Python,Python 3.x,Csv,Dataframe,File Io,我有一个很长的清单,清单如下--- a=[1.2,'abc',3],[1.2,'werew',4],…,[1.4,'qew',2] i、 列表中的值有不同的类型——float、int、strings。如何将其写入csv文件,使输出的csv文件看起来像 1.2,abc,3 1.2,werew,4 . . . 1.4,qew,2 通过以下代码可以轻松实现: 您可以使用熊猫: In [1]: import pandas as pd In [2]: a = [[1.2,'abc',3],[1.2,'

我有一个很长的清单,清单如下---

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

i、 列表中的值有不同的类型——float、int、strings。如何将其写入csv文件,使输出的csv文件看起来像

1.2,abc,3
1.2,werew,4
.
.
.
1.4,qew,2
通过以下代码可以轻松实现:

您可以使用熊猫:

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

试试这个。这只是一个概念证明,但您可能可以将其包含在您需要的任何内容中:

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