我有一个文本文件(很大),所有数字之间用空格和制表符的组合来分隔,小数点和小数点之后用逗号分隔,而第一列是科学格式,接下来的是数字,但有逗号。我只是把第一行放在这里作为数字。
0,0000000E00 -2,7599284 -1,3676726 -1,7231264 -1,0558825 -1,8871096 -3,0763804 -3,2206187 -3,2308111 -2,3147060 -3,9572818 -4,0232415 -4,2180738
该文件太大,以至于记事本++无法处理它,无法将", "转换为""。
所以我所做的是:
with open(file) as fp:
line = fp.readline()
cnt = 1
while line:
digits=re.findall(r'([\d.:]+)', line)
s=line
s = s.replace('.','').replace(',','.')
number = float(s)
cnt += 1
我甚至尝试使用数字,但这导致第一列被分成两个数字。
而最终我在使用.replace命令时得到的错误。我更希望的是将逗号转换为点,而不考虑科学等干扰性格式。我感谢你的帮助
ValueError: 无法将字符串转换为浮点数: ' 00000000E00
\t-29513521 \t-17002219 \t-22375536 \t-14994097
\t-24163610 \t-34076621 \t-31233623 \t-32341597
\t-24724552 \t-42434935 \t-43454237 \t-44885144
我还把how the input looks like in txt 以及我如何需要它的输出( csv格式 )
input seems like this :
first line :
第1列和第2列之间:3个空格+1个制表符
其余各列之间:6个空格+1个制表符
第二行和上。
第1列和第2列之间:2个空格+1个制表符
其余各列之间:6个空格+1个制表符
这是一个屏幕截图。txt input file :
请注意。每行开头有一个空格
和我想要的东西作为output is csv file用"; "分隔列