У меня есть несколько строк текста.Первая строка является строкой заголовка, а каждая последующая строка представляет поля данных, каждое значение разделяется запятой.В каждой строке находятся значения от одного до трех долларов, начиная от однозначных долларовых значений (4,50 долл. США) до трехзначных (100 000,34 долл. США).Они также окружены цитатами.
206360941,5465685679,"$4,073.77",567845676547,"$88,457.21",34589309683
Мне нужно исключить кавычки и знак доллара для денежных значений, а также запятую внутри.Разделитель периодов для десятичного значения должен оставаться, поэтому «$ 6 801,56» становится 6801,56
Я использовал регулярное выражение для удаления знака доллара, а также кавычки -
with open("datafile.csv", "r") as file:
data = file.readlines()
for i in data:
i = re.sub('[$"]', '', i)
, которые затемделает данные похожими на 7545245,6,801.56,3545647
, поэтому, если я разделю их запятыми, большие значения будут разделены на две части.воссоединение с .join (), но оказывается, что только значения валют с запятой содержат кавычки, меньшие значения без запятой - нет.
Кроме того, я знаю, что могу использовать re.findall(r'\$\d{1,3}\,\d\d\d\.\d\d', i)
, чтобы вытянуть числовой формат, если я его распечатаю, он выведет список вроде [$100,351.35]
Я просто не уверен, что делатьделать с этим после этого.