将一个Python嵌套列表以倒序的方式写入csv文件中。
将一个Python嵌套列表以倒序的方式写入csv文件中。
这个问题已经在这里有答案:
我有一个长长的嵌套列表,形式如下 ---
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日
尝试这个。这只是一个概念证明,但你可以把它包装进你需要的任何东西中:
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