簡體   English   中英

python csv不解析定界符

[英]python csv not parsing delimiter

我正在嘗試使用python做一個簡單的csv解析,我有以下代碼:

print csvdata
print "\n"
csvparsed = csv.reader(csvdata)

for row in csvparsed:
    print row

但是,似乎解析的數據的每一行都是單個字符,並且沒有用逗號分隔。 我在這里想念什么嗎? 這是我得到的輸出:

Restaurant ID,2,,
,,,
Menu Name,Breakfast Menu,,

['R']
['e']
['s']
['t']
['a']
['u']
['r']
['a']
['n']
['t']
[' ']
['I']
['D']
['', '']
['2']
['', '']
['', '']
[]
['', '']
['', '']
['', '']
[]
['M']
['e']
['n']
['u']
[' ']
['N']
['a']
['m']
['e']
['', '']
['B']
['r']
['e']
['a']
['k']
['f']
['a']
['s']
['t']
[' ']
['M']
['e']
['n']
['u']
['', '']
['', '']

csv.readercsv.reader提供一個在文本行上進行迭代的迭代器,這是打開文件的工作方式。 您給它提供了一個字符串,該字符串在您進行迭代時會產生字符。 如果要從文件獲取數據,只需將打開的文件提供給csv.reader ,不要先閱讀文本。

如果您確實已經在字符串中包含了文本,請使用以下命令:

csv.reader(csvdata.splitlines())

這可能更接近您要執行的操作:

csvparsed = csv.reader(open('csvdata', 'r'))

for row in csvparsed:
    print row

有了這個,以及您的示例數據在文件中,我得到以下輸出:

['Restaurant ID', '2', '', '']
['', '', '', '']
['Menu Name', 'Breakfast Menu', '', '']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM