Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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 - Fatal编程技术网

在Python中删除十进制后的数据

在Python中删除十进制后的数据,python,Python,我有一列从Excel文件解析的十六进制值 4.0 123.0 FFE 5432535.0 这一清单还在继续。我正在这个格式化的C头文件中写入所有数据,不希望任何数据位于小数点或小数点本身的右边 例如: 4.0 -> 4 5432535.0 -> 5432535 做这件事最好的方法是什么 我的问题是它们是十六进制val,所以它们也可以包含字母。数据正在使用XLRD进行解析,并以这种格式存储在变量中 cell_val3 = sheet.cell_value(row_iteration

我有一列从Excel文件解析的十六进制值

4.0
123.0
FFE
5432535.0
这一清单还在继续。我正在这个格式化的C头文件中写入所有数据,不希望任何数据位于小数点或小数点本身的右边

例如:

4.0 -> 4
5432535.0 -> 5432535
做这件事最好的方法是什么

我的问题是它们是十六进制val,所以它们也可以包含字母。数据正在使用XLRD进行解析,并以这种格式存储在变量中

cell_val3 = sheet.cell_value(row_iteration, 20)

假设它存储在变量
number
中。我愿意

number = str(number)
number = number[:number.index('.')]
number = int(number)

这将对变量执行一个切片,从第一个位置开始,到在“.”之前找到的字符结束;您可能必须首先将输入设置为字符串,这取决于您读取数据的方式。

只需在按句点拆分后将字符串重新分配给第一个元素:
s=s.split('.')[0]
您尝试过
split('.')
?我不确定这里的十六进制值是什么意思。在您的示例中,123.0是十进制值(一百二十三)还是十六进制值(0x123),恰好没有数字a-F?要将十六进制值转换为十进制,还是将十进制值转换为十六进制?伪十六进制。我正在循环中向val追加0X。它由一个c头文件使用,因此实际值是无关的,因为它实际上被写入一个文件。我解决了拆分的问题。您不需要三元
if..else
-只需执行
I=I.split('.')[0]
@TigerhawkT3哦,是的。如果句点不存在,
split
将返回整个字符串。奇怪。。。。回溯(最后一次调用):文件“parser.py”,第45行,在cell_val3=cell_val3[:cell_val3.index('.')]ValueError:substring not found这没什么奇怪的-它试图找到不存在的元素的索引。您的示例输入中并非每一行都包含
。啊,当然。只有在字符串中存在句点时,我才能添加什么检查来实现拆分。如果数字中有if number[:number.index('.')],那么就做点什么吧?你可以试试数字中的
if'.',但是@Malik的答案更简单。我同意,分割实际上更好。我只在Python中做过很多字符串操作,没有比这更糟的了。