2017-05-24 16 views
-4

文字列セルを含むCSVファイルがあり、これをPythonにインポートします。私のファイルは次のようなものです:Pythonの文字列を含むCSVファイル

header1 header2 header3 
abc  1.12 abc 
str1  5.00  str2 

私はPythonの配列と同じフォーマットを見たいと思います。これどうやってするの?

答えて

0

あなた(と仮定すると、タブ区切り)CSVファイルを変換するには、あなたがそれを魔法の様々なタイプを縦または横にテーブルをスライスして行うことができますYパッケージpandasリストのリストに:

import csv 

with open('input.csv', 'rb') as f_input: 
    csv_input = csv.reader(f_input, delimiter='\t') 
    header = next(csv_input) 
    data = list(csv_input) 

print data 
print data[1][2]  # row 2, column 3 

これは、あなたdata保持を与えるだろう:

[['abc', '1.12', 'abc', ''], ['str1', '5.00', 'str2']] 

str2 

ヘッダーをdataに含める場合は、ヘッダー行をコメントアウトします。

+0

パーフェクト、ありがとう。今、私はstr2の形式をintに変換することができました! – sunny

0

タブ区切りのCSVファイルでの例:それはソートのそれのように見えるので、私はあなたのデータを仮定するつもりです

import csv 
with open('yourfile.csv', 'rb') as file: 
    reader = csv.reader(file, delimiter='\t') 
    for row in reader: 
     print ', '.join(row) 
0

は、'\t'文字で区切られます。

組み込みのPythonで

のみ:標準csvモジュールで

with open(filename, 'rt') as f: 
    table = [line.rstrip('\r\n').split('\t') for line in f] 

[['header1', 'header2', 'header3'], ['abc', '1.12', 'abc'], ['str1', '5.00', 'str2']] 

import csv 
with open(filename, 'rt') as f: 
    table = csv.reader(f, delimiter='\t') 
    # you could then iterate over `table` or convert it to a static list by saying table=list(table) 

どちらのソリューションは、あなたの個々の項目のようなすべての文字列、ネストされたシーケンスを取得します

また、人気のある第3部

import pandas 
table = pandas.read_csv(filename, sep='\t') 

をあなたにこの取得され:

>>> table 
    header1 header2 header3 
0  abc  1.12  abc 
1 str1  5.00 str2 

[2 rows x 3 columns] 

>>> table['header1'][0] 
'abc' 
関連する問題