python熊猫读取分隔符不工作
我使用pandas read_csv来读取一个简单的csv文件。但是,它有python熊猫读取分隔符不工作,python,pandas,type-conversion,Python,Pandas,Type Conversion,我使用pandas read_csv来读取一个简单的csv文件。但是,它有ValueError:无法将字符串转换为float:,我不明白为什么 thousands = ',' , decimal = '.', 代码很简单 rawdata = pd.read_csv( r'Journal_input.csv' , dtype = { 'Base Amount' : 'float64' } , thousan
ValueError:无法将字符串转换为float:
,我不明白为什么
thousands = ',' ,
decimal = '.',
代码很简单
rawdata = pd.read_csv( r'Journal_input.csv' ,
dtype = { 'Base Amount' : 'float64' } ,
thousands = ',' ,
decimal = '.',
encoding = 'ISO-8859-1')
thousands = ',' ,
decimal = '.',
但是我得到了这个错误
thousands = ',' ,
decimal = '.',
pandas.parser.textleader.read中的pandas\parser.pyx
(pandas\parser.c:10415)()
thousands = ',' ,
decimal = '.',
pandas\parser.pyx在pandas.parser.TextReader.\u读取\u内存不足\u
(pandas\parser.c:10691)()
thousands = ',' ,
decimal = '.',
pandas\parser.pyx在pandas.parser.TextReader.\u read\u行中
(pandas\parser.c:11728)()
thousands = ',' ,
decimal = '.',
pandas.parser.TextReader.中的pandas\parser.pyx.\u转换\u列\u数据
(pandas\parser.c:13162)()
thousands = ',' ,
decimal = '.',
pandas.parser.TextReader.\u convert\u令牌中的pandas\parser.pyx
(pandas\parser.c:14487)()
thousands = ',' ,
decimal = '.',
ValueError:无法将字符串转换为浮点:“79026695.50”
thousands = ',' ,
decimal = '.',
将字符串“79026695.50”转换为浮点时,如何可能出现错误?我已经指定了这两个选项
thousands = ',' ,
decimal = '.',
这是我们的“我的代码”问题还是熊猫中的一个bug?看来
引用
是有问题的,因为如果分隔符是,
和数千
也是,
,那么一些引用必须在csv
中:
thousands = ',' ,
decimal = '.',
import pandas as pd
from pandas.compat import StringIO
import csv
temp=u"""'a','Base Amount'
'11','79,026,695.50'"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp),
dtype = { 'Base Amount' : 'float64' },
thousands = ',' ,
quotechar = "'",
quoting = csv.QUOTE_ALL,
decimal = '.',
encoding = 'ISO-8859-1')
print (df)
a Base Amount
0 11 79026695.5
temp=u'''"a","Base Amount"
"11","79,026,695.50"'''
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp),
dtype = { 'Base Amount' : 'float64' },
thousands = ',' ,
quotechar = '"',
quoting = csv.QUOTE_ALL,
decimal = '.',
encoding = 'ISO-8859-1')
print (df)
a Base Amount
0 11 79026695.5
你们能把文件的内容添加到问题中吗?或者最好将文件上传到gdocs,dropbox。。如果数据不保密,您能否提供相关行的副本?