Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python csv文字列を配列に変換する方法は?


最も簡単な方法は、str.splitメソッドを使用して、「、」が出現するたびに分割し、すべての文字列をstripメソッドにマップして、先頭/末尾の空白を削除することです。たとえば、

>>> s = "1, John Doe, Boston, USA"
>>> print map(str.strip, s.split(','))
['1', 'John Doe', 'Boston', 'USA']

複数行のcsvを含む複数行の文字列がある場合は、\ nで分割してから、各行を分割して削除できます。たとえば、

>>> s = "1, John Doe, Boston, USA\n2, Jane Doe, Chicago, USA"
>>> print [map(str.strip, s_inner.split(',')) for s_inner in s.splitlines()]
[['1', 'John Doe', 'Boston', 'USA'], ['2', 'Jane Doe', 'Chicago', 'USA']]

Pythonのcsvモジュールには、同じ結果を達成するためのヘルパー関数、リーダーもあります。たとえば、

>>> s = "1, John Doe, Boston, USA\n2, Jane Doe, Chicago, USA".splitlines()
>>> import csv
>>> x = csv.reader(s)
>>> list(x)
[['1', ' John Doe', ' Boston', ' USA'], ['2', ' Jane Doe', ' Chicago', ' USA']]

  1. Pythonで文字列をバイナリに変換する方法は?

    文字列をバイナリに変換するには、各文字を繰り返し処理してバイナリに変換する必要があります。次に、これらの文字を1つの文字列に結合します。 format(ord(x)、b)を使用して、文字xをバイナリとしてフォーマットできます。例: >>>st = "hello world" >>>' '.join(format(ord(x), 'b') for x in st) '11010001100101 1101100 1101100 1101111 100000 1110111 1101111 111001

  2. Pythonでリストの文字列表現をリストに変換するにはどうすればよいですか?

    ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、次のPythonリテラル構造のみで構成されます:文字列、数値、タプル、リスト、dict、ブール値、およびなし。 例 fruits = "['apple', 'orange', 'banana']" import ast fruits = ast.literal_eval(fruits) print fruits[1], fruits[0]