Python 如何检查csv连接中的行是字符串还是数字
我有一个CSV文件,Python 如何检查csv连接中的行是字符串还是数字,python,string,csv,casting,io,Python,String,Csv,Casting,Io,我有一个CSV文件,/home/user/file.CSV,例如: V1 1.24 4.55 3 我试图只读入数字,事先不知道有标题 如何阅读此内容并跳过所有String元素,只保留int/float/long/etc 以下尝试不起作用,因为即使我正在读取的行是数字,行也不是数字: f_in = open('/home/user/file.csv') for line in f_in: if !isinstance(line,basestring): #Now we o
/home/user/file.CSV
,例如:
V1
1.24
4.55
3
我试图只读入数字,事先不知道有标题
如何阅读此内容并跳过所有String
元素,只保留int/float/long/etc
以下尝试不起作用,因为即使我正在读取的行是数字,行也不是数字:
f_in = open('/home/user/file.csv')
for line in f_in:
if !isinstance(line,basestring):
#Now we only have the rows that are numbers (but not really!)
也看到
编辑:根据OP请求,一行如下所示:
1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1
也看到
编辑:根据OP请求,一行如下所示:
1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1
csv
模块提供了一个类,用于确定文件是否有(一行)标题
has_头(示例)
分析示例文本(假定为CSV格式),如果第一行显示为一系列列标题,则返回True
csv
模块提供了一个类,用于确定文件是否有(一行)标题
has_头(示例)
分析示例文本(假定为CSV格式),如果第一行显示为一系列列标题,则返回True
int的情况如何?对于
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1
的行,它不起作用。对于1,1,0,0,0,0,0,0,0,1,0,0,0,1的行,它不起作用。
try:
float(line)
except ValueError:
# not a number
import csv
with open('/home/user/file.csv') as csvfile:
for row in csv.reader(csvfile):
for n in row:
try:
float(line)
except ValueError:
# not a number
f_in = [1.24, 4.55, 3, "aaa"]
for line in f_in:
try:
float(line)
#it is number
except ValueError:
#it isn't a number