将列拆分为多个列

时间:2014-10-13 15:20:40

标签: python split multiple-columns

我有一个数据,其中多个值汇总在一列中,如(更多行):

"(-99.0, -99.0, -99.0, -99.0, -99.0, -99.0, -99.0, -99.0, -99.0, -99.0, -99.0, -99.0)"                                                            
"(0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563, 0.43963563)"
"(0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014, 0.20000014)"

现在我的目标是摆脱'"''('')',这是更重要的部分,将每一行拆分为12列,最后得到像这样:

      1         2            3          4          5           6             7            8          9         10           11         12
-99            -99          -99       -99         -99         -99          -99          -99         -99         -99        -99        -99
0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563  0.43963563
0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014  0.20000014

我到目前为止所有的代码都是将我的行拆分为单独的值并摆脱','

my_file = open("expand_single_column_alternate.dat","r")
content = my_file.read()
liste = content.split(",")    

1 个答案:

答案 0 :(得分:1)

在这种情况下,每行实际上是一个包含多个数字的有效Python元组,您可以使用ast.literal_eval将该行转换为实际元组:

>>> import ast
>>> s = "( 1 , 2 , 3 , 4 , 5 )"
>>> ast.literal_eval(s)
(1, 2, 3, 4, 5)