目前,我想分析其中有4個項目每行由逗號分隔的CSV文件。例如:蟒蛇用逗號分開,忽略一個引號
1, "2,3", 4, 5
我怎樣才能把它分成:
[1,"2,3",4,5]
我嘗試使用csv.reader
,但結果仍然是錯誤的方式。誰能幫忙? THX!
目前,我想分析其中有4個項目每行由逗號分隔的CSV文件。例如:蟒蛇用逗號分開,忽略一個引號
1, "2,3", 4, 5
我怎樣才能把它分成:
[1,"2,3",4,5]
我嘗試使用csv.reader
,但結果仍然是錯誤的方式。誰能幫忙? THX!
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) 我希望它有助於您
你是怎樣嘗試使用'csv.reader',怎麼是結果錯了嗎? – Ryan 2013-04-20 18:25:47
見http://stackoverflow.com/questions/2785755/how-to-split-but-ignore-separators-in-quoted-strings-in-python?rq=1 – jarmod 2013-04-20 18:33:41