Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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/8/svg/2.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 如何在对CSV列求和时替换空格_Python_Csv - Fatal编程技术网

Python 如何在对CSV列求和时替换空格

Python 如何在对CSV列求和时替换空格,python,csv,Python,Csv,我正在尝试构建一个python脚本,该脚本将对 列的一个大的csv文件,并给我的输出。我能算出 包含以下脚本的列: port csv with open("o77069894.out","r+",encoding='utf8') as fin: headerline = fin.readline() amount = 0 debit = 0 value = 0 for row in csv.reader(fin,delimiter=","): value = float(row[17

我正在尝试构建一个python脚本,该脚本将对 列的一个大的csv文件,并给我的输出。我能算出 包含以下脚本的列:

port csv with open("o77069894.out","r+",encoding='utf8') as fin:
headerline = fin.readline()

amount = 0
debit = 0
value = 0
for row in csv.reader(fin,delimiter=","):

    value = float(row[17]) if value else 0.0
    debit+=value
print (debit)
但是,当我使用csv列测试时,遇到了一个错误,该列的数字类似于“12.4空格”(该字段有空格)。因此,我尝试在for循环中使用:value=row[17].strip(),但引发了一个错误:

回溯(最后一次调用):文件“sum\u csv1\u v3\u modified.py”, 第8行,在 对于csv.reader(fin,delimiter=“|”)中的行:文件“C:\ProgramData\Anaconda3\lib\codecs.py”,第321行,在解码中 (结果,消耗)=self.\u buffer\u decode(数据,self.errors,final)UnicodeDecodeError:“utf-8”编解码器无法在适当位置解码字节0xbf 3213:无效id开始字节

我将无法显示真实的数据,因为它是保密的,但我认为,由于代码是为其他csv文件工作的问题可能是由于空白。即使这是一个文件问题,我想知道如何处理这些领域。
另外,我想知道如何编辑代码以替换数字中的“,”或“$”。谢谢。

看起来“12.4空格”是一个字符串。请尝试str.replace()


您可以试试这个,因为可能存在一些非ascii字符

row[17].encode('utf-8').strip()

A会有帮助的。在本例中,一些示例数据表明您的问题非常理想。您知道如何替换数字之间的逗号吗?例如:12000.93
float(a.replace(',','')
row[17].encode('utf-8').strip()