由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - python 问题
相关主题
c++ 中如何把str转换为float?一个小问题
请教关于float的精度和比较请教一个初级问题
parsing file in node: js or python ?请问Python初学者怎么学
[合集] Python下面如何进行numeric analysis and statistical analysis请问哪里有python的code example
[合集] 统一的regex (grep, sed, awk, python,..)python urlopen(), how to go back to the beginning after readlines()
谁知道这个嵌套的Python if 是啥意思?有没有人跟我一样一看到Python code 就想吐。
python 3.5 typing hint普及之後 python真要統治世界了。王垠对google的看法 (转载)
php DOM parse 中文乱码问题 (转载)后台python wsgi, 前端html, css, javascript
相关话题的讨论汇总
话题: python话题: numeric话题: csv话题: 323话题: float
进入Programming版参与讨论
1 (共1页)
n*w
发帖数: 3393
1
要parse很多文本文件,csv。需要把非法内容剔除,比如日期字段中的非日期,
numeric字段中的非numeric等。把213,323,324.324换成213323324.343等。
python合适做这个事情不?google的一下,好像python对类型转换比较弱?
L*******r
发帖数: 1011
2
合适。
http://www.rosettacode.org/wiki/IsNumeric#Python
use string.split to get fields,
determine the numeric fields
then use float(f1) * 10000 + float(f2) * 100 + float(f3) ...

【在 n*w 的大作中提到】
: 要parse很多文本文件,csv。需要把非法内容剔除,比如日期字段中的非日期,
: numeric字段中的非numeric等。把213,323,324.324换成213323324.343等。
: python合适做这个事情不?google的一下,好像python对类型转换比较弱?

d*******8
发帖数: 3182
3
s = '213,323,324.324'
s.replace(',', '')
n = float(s)
is it better?
BTW, how to 把213,323,324.324换成213323324.343等??
r****t
发帖数: 10904
4
>> locale.setlocale(locale.LC_NUMERIC, 'en_US.UTF-8')
>> locale.atof('100,340.23')
100340.23
python 是 strong typed, 怎么说类型转换比较弱? 就用
try: return locale.atof(content)
except: return "Illegal"
这样就可以了。

【在 n*w 的大作中提到】
: 要parse很多文本文件,csv。需要把非法内容剔除,比如日期字段中的非日期,
: numeric字段中的非numeric等。把213,323,324.324换成213323324.343等。
: python合适做这个事情不?google的一下,好像python对类型转换比较弱?

n*e
发帖数: 50
5
问题是他是csv里面带着 "," 的数字,假定不知道数字的位数有多少,不是很方便。
需要先知道怎么把那个数字field从两边的field里面分出来。
不过这个locale.atof我第一次见,收藏一下。

【在 r****t 的大作中提到】
: >> locale.setlocale(locale.LC_NUMERIC, 'en_US.UTF-8')
: >> locale.atof('100,340.23')
: 100340.23
: python 是 strong typed, 怎么说类型转换比较弱? 就用
: try: return locale.atof(content)
: except: return "Illegal"
: 这样就可以了。

r****t
发帖数: 10904
6
这种 damaged csv file, 无论你用什么搞都会很麻烦的。
写这些 csv 的人,为什么不用 python csv module? 里面有必要的时候自动给字段加
引号的。
问题出在写数据的时候,读数据的人来 fix 很麻烦。

【在 n*e 的大作中提到】
: 问题是他是csv里面带着 "," 的数字,假定不知道数字的位数有多少,不是很方便。
: 需要先知道怎么把那个数字field从两边的field里面分出来。
: 不过这个locale.atof我第一次见,收藏一下。

n*e
发帖数: 50
7
所以从来就要加上 “

【在 r****t 的大作中提到】
: 这种 damaged csv file, 无论你用什么搞都会很麻烦的。
: 写这些 csv 的人,为什么不用 python csv module? 里面有必要的时候自动给字段加
: 引号的。
: 问题出在写数据的时候,读数据的人来 fix 很麻烦。

z***y
发帖数: 79
8
import csv

【在 n*w 的大作中提到】
: 要parse很多文本文件,csv。需要把非法内容剔除,比如日期字段中的非日期,
: numeric字段中的非numeric等。把213,323,324.324换成213323324.343等。
: python合适做这个事情不?google的一下,好像python对类型转换比较弱?

r****t
发帖数: 10904
9
只要 field 之间是 " ," 或者 " ," 分隔的,用这个 locale.atof 就有办法, 不需
要知道数字位数是多少。
反过来讲,如果 field 之间是 "," (没空格)分隔的,单个 field 里面的数字也是用
一样的分隔,就是人眼睛也不知道该如何分。

【在 n*e 的大作中提到】
: 问题是他是csv里面带着 "," 的数字,假定不知道数字的位数有多少,不是很方便。
: 需要先知道怎么把那个数字field从两边的field里面分出来。
: 不过这个locale.atof我第一次见,收藏一下。

1 (共1页)
进入Programming版参与讨论
相关主题
后台python wsgi, 前端html, css, javascript[合集] 统一的regex (grep, sed, awk, python,..)
python读入数据的问题谁知道这个嵌套的Python if 是啥意思?
python/javascript有没有一些lib可以比较好的parse pdf文件?python 3.5 typing hint普及之後 python真要統治世界了。
项目中又有人要用restful,结果我不restful了。。。php DOM parse 中文乱码问题 (转载)
c++ 中如何把str转换为float?一个小问题
请教关于float的精度和比较请教一个初级问题
parsing file in node: js or python ?请问Python初学者怎么学
[合集] Python下面如何进行numeric analysis and statistical analysis请问哪里有python的code example
相关话题的讨论汇总
话题: python话题: numeric话题: csv话题: 323话题: float