csv.reader(..)のような空想を使用せずにカンマ区切り文字列を1つ解析する方法はありますか? split(',')
関数を使用できますが、有効な列の値にカンマ自体が含まれている場合は機能しません。 csvライブラリには、前述の特別なケースを正しく処理するCSVファイルを解析するためのリーダーがありますが、単一の文字列を解析する必要があるため、これらを使用することはできません。しかし、Python CSVで1つの文字列を解析することができれば、それは私にとっては朗報です。単一のCSV文字列を解析しますか?
5
A
答えて
11
:(もメモリファイルとして知られている)文字列bufferを書くためにStringIOを使用持っている文字列:
>>> s = '"this is", "a test", "of the csv", "parser"'
そして、あなたは "各 の反復の入力」、あなただけのリストにあなたの文字列をラップすることができます
>>> r = csv.reader([s])
>>> list(r)
[['this is', 'a test', 'of the csv parser']]
そして、それはあなたがcsv
モジュールで文字列を解析する方法です。
9
csv
で1つの文字列を解析することはできます。
reader(...)
csv_reader = reader(iterable [, dialect='excel']
[optional keyword args])
for row in csv_reader:
process(row)
The "iterable" argument can be any object that returns a line
of input for each iteration, such as a file object or a list. The
optional "dialect" parameter is discussed below. The function
also accepts optional keyword arguments which override settings
provided by the dialect.
をだから場合: が言うcsv
モジュールのドキュメント、詳しく見てみ
import csv
from StringIO import StringIO
s = "your string"
buff = StringIO(s)
reader = csv.reader(buff)
for line in reader:
print(line)
+0
Python 3の場合、 'from io import StringIO'を参照してください。[here](https://docs.python.org/3/library/io.html#text-io)を参照してください。 –
関連する問題
- 1. 文字列内の単一のXMLステートメントを解析する
- 2. Powershellで文字列からCSVを解析するには?
- 3. JSON文字列を解析します。
- 4. 文字列を解析して文字列のコマンドライン引数を解析しますか?
- 5. 解析文字列
- 6. 解析文字列
- 7. 文字列から単一文字を削除しますか?
- 8. 文字列の解析R
- 9. 文字列解析のヘルプ
- 10. 文字列の解析
- 11. PHP - 文字列の解析
- 12. 文字列を一重引用符でJSONとして解析しますか?
- 13. 配列を文字列に解析しますか?
- 14. 文字列解析とマッチングアルゴリズム
- 15. トリビアル文字列解析アルゴリズム
- 16. 解析JSON文字列
- 17. シェル解析文字列
- 18. 10進数の文字列を解析しますか?
- 19. djangoからアンドロイドの文字列を解析しています
- 20. Java - 変数tagnamesのXML文字列を解析しますか?
- 21. Pythonのbson文字列を解析しますか?
- 22. regex/php:文字列から時間を解析しますか?
- 23. Eggplant/Sensetalk大文字の単語を含む文字列の解析と分離
- 24. Groovyで文字列を解析していますか?
- 25. PHP + Smarty:PHP + HTMLを文字列に解析しますか?
- 26. SQL select文で文字列を解析します
- 27. Android、構文解析html、文字列の文字列の問題
- 28. シェルスクリプトでCSV文字列を解析してファイルに書き込む
- 29. CSV文字列への一般リスト
- 30. 解析する2行の文字列である文字列
私はそれがより使いやすいと思います'[s]'(リストを指定する)の代わりに一般的なイテレータとして 'iter(s)'を実行します。しかし、あなたは私の+1を持っています – RafaelC
これはおそらく文字列が値の中で改行を引用符で囲んだ場合には機能しません。 @アレクセーの答えはもっと意味がある – swooby