首页 > 解决方案 > 使用 python 将 CSV 文件中的数组显示为以下格式

问题描述

我正在尝试将某些数据从 CSV 文件打印到 python 环境。编写此代码后,我得到了这种格式的输出。

X = [('1',), ('2',), ('3',), ('4',), ('5',), ('6',)]

以下两种格式的预期输出。每个用于不同的用途

(1,    2,    3,    4,    5,    6)

((1,)  ,( 2  , )  , (3  , )  ,  (4  ,) , (5  ,), (6 ,) )

但我有兴趣以我提到的其他格式显示输出。因为在 ABAQUS 软件工具中,它只需要我提到的那些类型的格式。提前感谢你们的时间和耐心。>

filename='x.csv’

with open(filename) as f:

...     data=[tuple(line) for line  in  csv.reader(f)]

...

>>> print data

[('1',), ('2',), ('3',), ('4',), ('5',), ('6',)]

标签: pythonlistcsvtuples

解决方案


这是一种方法:

X = [('1',), ('2',), ('3',), ('4',), ('5',), ('6',)]

from itertools import chain

res1 = tuple(map(int, chain.from_iterable(X)))
# (1, 2, 3, 4, 5, 6)

res2 = tuple((int(t[0]), ) for t in X)
# ((1,), (2,), (3,), (4,), (5,), (6,))

或者,为了res2避免res1重复的整数转换:

res2 = tuple((i,) for i in res1)

推荐阅读