0

Pythonを使用して簡単なcsv解析を実行しようとしていますが、次のコードがあります。

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

for row in csvparsed:
    print row

ただし、解析されたデータの各行は1文字であり、コンマで区切られていないようです。ここで何かが足りませんか?これは私が得ている出力です:

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']
['', '']
['', '']
4

2 に答える 2

4

csv.readerは、テキストの行に対してイテレータが与えられることを意味します。これは、開いているファイルがどのように機能するかを示しています。あなたはそれに文字列を与えました、それはあなたがそれを繰り返すときに文字を生成します。ファイルからデータを取得する場合は、開いているファイルをに渡すだけで、csv.reader最初にテキストを読まないでください。

すでに文字列にテキストがある場合は、次を使用します。

csv.reader(csvdata.splitlines())
于 2012-06-03T01:24:09.790 に答える
0

これはあなたがやろうとしていることに近いかもしれません:

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

for row in csvparsed:
    print row

これと、ファイル内のサンプルデータを使用して、次の出力を取得します。

['Restaurant ID', '2', '', '']
['', '', '', '']
['Menu Name', 'Breakfast Menu', '', '']
于 2012-06-03T01:36:25.963 に答える