我有一个数据,其中多个值汇总在一列中,如(更多行):
"(-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(",")
答案 0 :(得分:1)
在这种情况下,每行实际上是一个包含多个数字的有效Python元组,您可以使用ast.literal_eval
将该行转换为实际元组:
>>> import ast
>>> s = "( 1 , 2 , 3 , 4 , 5 )"
>>> ast.literal_eval(s)
(1, 2, 3, 4, 5)