目前,我想解析一个每行有 4 个项目并用逗号分隔的 csv 文件。例如:
1, "2,3", 4, 5
我怎样才能把它分成:
[1,"2,3",4,5]
我尝试使用csv.reader
,但结果仍然是错误的方式。任何人都可以帮忙吗?谢谢!
csv.reader
不会进行类型转换,但可能是这样的:
In [1]: import csv
In [2]: data = ['1, "2,3", 4, 5']
In [3]: next(csv.reader(data, skipinitialspace=True))
Out[3]: ['1', '2,3', '4', '5']
"""
[xxx.csv]
1, "2,3", 4, 5
"""
import re
f = open("xxx.csv")
line = f.readline() # line = '1, "2,3", 4, 5'
startUnit = False # " is for start or end
token = ""
answer=[]
for i in line:
if startUnit==False and re.match("[0-9]", i):
answer.append(int(i))
elif i=='"':
if startUnit==True:
answer.append(token)
startUnit = not startUnit
elif startUnit==True:
token+=i
elif startUnit==False:
token=""
print answer
这是一个简单的例子。它可能会产生其他异常,因为该代码仅适用于您的示例。(1, "2,3", 4, 5) 希望对你有帮助