[转]不优雅的方式处理 xlrd 中 int/float 的问题
原址:http://blog.chedushi.com/archives/7258
最近在用 xlrd 写一个题库自动导出的程序,但碰到一个比较 ugly 的问题。
程序要求是将 xls 文件中的数据导出成文本,但 xlrd 在读取数据时,会将 xls 单元格中所有可能是数字的数据都自动转换成 python 的 float。这时候,我们通过 str(cell.value) 会得到 12.0 (假设 cell.value = 12.0)。
我明明需要字符串 12 却给我 12.0,太 ugly 了。。。。
一个更 ugly 的解决办法如下:
if ( type(cell.value) == float ):
if ( cell.value == int(cell.value) ):
val = int(cell.value)
python 中 12.0 == int(12.0) 返回 True
利用这个,写了这么个折中方案。。。
[转]不优雅的方式处理 xlrd 中 int/float 的问题的更多相关文章
- java中int,float,long,double取值范围,内存泄露
java中int,float,long,double取值范围是多少? 写道 public class TestOutOfBound { public static void main(String[] ...
- 关于c中 int, float, double转换中存在的精度损失问题
先看一段代码实验: #include<limits> #include<iostream> using namespace std; int main() { unsigned ...
- 更优雅的方式: JavaScript 中顺序执行异步函数
火于异步 1995年,当时最流行的浏览器--网景中开始运行 JavaScript (最初称为 LiveScript). 1996年,微软发布了 JScript 兼容 JavaScript.随着网景.微 ...
- C++11中int,float,double与string的转化
在C++11中可以使用std::to_string()函数将数值转换为string格式,十分方便. 以下部分来选自cplusplus.com. std::to_string string to_str ...
- Android中 int,float,Double,String 互相转换
1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt( ...
- C++中int,float,string,char*的转换(待续)
//float转string char a[100]; float b = 1.234; sprintf(a, "%f", b); string result(a); //int转 ...
- QT中QString 与 int float double 等类型的相互转换
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- Springboot中RestTemplate -- 用更优雅的方式发HTTP请求
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率. 我之前的HTTP开发是用ap ...
- 使用Python以优雅的方式实现根据shp数据对栅格影像进行切割
目录 前言 涉及到的技术 优雅切割 总结 一.前言 前面一篇文章(使用Python实现子区域数据分类统计)讲述了通过geopandas库实现对子区域数据的分类统计,说白了也就是如何根据一 ...
随机推荐
- 策略模式 - Strategy
Strategy Pattern,定义算法家族,分别封装起来,互相之间可替换,此模式让算法的变化不会影响到使用算法的客户端. // 上下文类(Context):用一个ConcreteStratege来 ...
- ASP.NET MVC4实现TinyMCE 4.0.20自定义上传功能
tinymce 插件不提供免费的本地图片上传功能,所以自己将uploadify这个上传插件整合到tinymce,实现本地上传,还用到了jquery.ui插件,先展示全部的代码 @model TinyM ...
- Hadoop单机伪分布式
环境配置:Ubuntu11.10,Hadoop1.0.0 安装ssh 1 apt-get install ssh 安装rsy 1 apt-get install rsync 配置ssh免密码登录 1 ...
- php中的M方法
- sqlserver附加 mdf、ldf的方法(手记)
exec sp_attach_db 'bookstore','E:\homework\bookstore_Data.MDF','E:\homework\bookstore_Log.LDF' EXEC ...
- 使用adagio包解决背包问题
背包问题(Knapsack problem) 背包问题(Knapsack problem)是一种组合优化的多项式复杂程度的非确定性问题(NP问题).问题可以描述为:给定一组物品,每种物品都有自己的重量 ...
- Lind.DDD.Repositories.Mongo层介绍
回到目录 之前已经发生了 大叔之前讲过被仓储化了的Mongodb,而在大叔开发了Lind.DDD之后,决定把这个东西再搬到本框架的仓储层来,这也是大势所趋的,毕竟mongodb是最像关系数据库的NoS ...
- JS效果集锦
秒后消失 $('.success_message').text( '反馈成功' ); setTimeout(function(){ $( ".success_messa ...
- Hibernate 参数设置一览表
Hibernate 参数设置一览表 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 fu ...
- angular源码分析:$compile服务——directive他妈
一.directive的注册 1.我们知道,我们可以通过类似下面的代码定义一个指令(directive). var myModule = angular.module(...); myModule.d ...