将Python列表列表写入倒置位置的csv文件中

时间:2017-03-25 19:44:23

标签: python python-3.x csv dataframe file-io

我有一长串以下表格列表---

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

2 个答案:

答案 0 :(得分:0)

当我需要使用Python写入Excel工作表时,我发现这个答案很有帮助。 Python - Write to Excel Spreadsheet

答案 1 :(得分:0)

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

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