Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除Python中两个字符之间的字符_Python_String - Fatal编程技术网

删除Python中两个字符之间的字符

删除Python中两个字符之间的字符,python,string,Python,String,我的输入字符串如下所示: 1724741,24527465,14.00,14.35,14.00,14.25 我希望输出如下所示: 17247412427465,14.00,14.35,14.00,14.25 我和re.sub玩过,但还是不明白。 如有任何帮助,我们将不胜感激。使用ast.literal\u eval是一个相当老套的解决方案: 请注意,这也会重新格式化浮点数 编辑:由于您显然正在处理一个CSV文件和带有数千个分隔符的整数,因此可能需要一个更干净的解决方案 import csv im

我的输入字符串如下所示:

1724741,24527465,14.00,14.35,14.00,14.25

我希望输出如下所示:

17247412427465,14.00,14.35,14.00,14.25

我和re.sub玩过,但还是不明白。
如有任何帮助,我们将不胜感激。

使用ast.literal\u eval是一个相当老套的解决方案:

请注意,这也会重新格式化浮点数

编辑:由于您显然正在处理一个CSV文件和带有数千个分隔符的整数,因此可能需要一个更干净的解决方案

import csv
import locale

locale.setlocale(locale.LC_ALL, 'en_GB.UTF8')
converters = [locale.atoi] * 2 + [locale.atof] * 4
with open("input.csv", "rb") as f, open("output.csv", "wb") as g:
    out = csv.writer(g)
    for row in csv.reader(f):
        out.writerow([conv(x) for conv, x in zip(converters, row)])

您需要用计算机支持的区域设置替换en_GB.UTF8,并使用逗号作为千位分隔符。

一个相当老套的解决方案是使用ast.literal\u eval:

请注意,这也会重新格式化浮点数

编辑:由于您显然正在处理一个CSV文件和带有数千个分隔符的整数,因此可能需要一个更干净的解决方案

import csv
import locale

locale.setlocale(locale.LC_ALL, 'en_GB.UTF8')
converters = [locale.atoi] * 2 + [locale.atof] * 4
with open("input.csv", "rb") as f, open("output.csv", "wb") as g:
    out = csv.writer(g)
    for row in csv.reader(f):
        out.writerow([conv(x) for conv, x in zip(converters, row)])
您需要将en_GB.UTF8替换为计算机支持的区域设置,并使用逗号作为千位分隔符。

可以很好地处理引用:

>>> s = '"1,724,741","24,527,465",14.00,14.35,14.00,14.25'
>>> import csv
>>> r = csv.reader([s])
>>> for row in r:
...     print ','.join(x.replace(",", "") for x in row)
... 
1724741,24527465,14.00,14.35,14.00,14.25
报价单处理得很好:

>>> s = '"1,724,741","24,527,465",14.00,14.35,14.00,14.25'
>>> import csv
>>> r = csv.reader([s])
>>> for row in r:
...     print ','.join(x.replace(",", "") for x in row)
... 
1724741,24527465,14.00,14.35,14.00,14.25