如何从CSV文件单元格提取带小数点的数字并按指定格式输出
CSV字段提取带小数点数字解决方案
问题原因
原有代码仅保留判断为数字的字符,自动过滤了小数点,同时没有对独立的数字做拆分和格式拼接。
修改后完整代码
import csv import re with open("/root/test.csv", encoding='utf-8') as r_file: file_reader = csv.reader(r_file, delimiter=";") for row in file_reader: # 取出目标列内容,和原代码逻辑一致取第二列(索引为1) target_content = row[1] # 正则匹配所有带小数点的数字 matched_numbers = re.findall(r'\d+\.\d+', target_content) # 用指定分隔符拼接后输出 print('; '.join(matched_numbers))
改动说明
- 引入
re正则模块,匹配规则\d+\.\d+中,\d+匹配1个及以上数字,\.匹配小数点,整个规则刚好匹配你需要的带小数点的数字格式,自动保留小数点且将每个独立数字单独提取为列表元素 - 用
'; '.join()方法将提取到的数字列表拼接为要求的输出格式
内容的提问来源于stack exchange,提问作者Alex Rebell
相关产品推荐
相关产品推荐

