web-dev-qa-db-ja.com

csvファイルをデータ配列にインポートする方法は?

後で使用するために、値の間に多くのスペースを含むテキストファイルから配列にデータをインポートするスクリプトにコード行があります。

textfile = open('file.txt')
data = []
for line in textfile:
    row_data = line.strip("\n").split()
    for i, item in enumerate(row_data):
        try:
            row_data[i] = float(item)
        except ValueError:
            pass
    data.append(row_data)

これをテキストファイルからcsvファイルに変更する必要があります。このテキストをカンマで分割するように変更したくありません(一部の値は引用符で囲まれているとコンマを持つことができるため)。幸いなことに、これを処理できるインポート可能なcsvライブラリがあることがわかりました。

import csv
with open('file.csv', 'rb') as csvfile:
    ???

Csvファイルをデータ配列に読み込むにはどうすればよいですか?

違いがある場合、これはデータの使用方法です。

row = 0
for row_data in (data):
    worksheet.write_row(row, 0, row_data)
    row += 1
9
GFL

Csvファイルがカンマで区切られていると仮定すると、Python 3でcsvモジュールを使用する最も簡単な方法はおそらく次のようになります。

_import csv

with open('testfile.csv', newline='') as csvfile:
    data = list(csv.reader(csvfile))

print(data)
_

Python 2)の場合、open('testfile.csv', 'rb')を使用してファイルを開きます。

16
martineau

pandas libraryまたはnumpyを使用してCSVファイルを読み取ることができます。ファイルがタブ区切りの場合、以下のsepおよびdelimiter引数の両方でコンマの代わりに '\ t'を使用します。

import pandas as pd 
myFile = pd.read_csv('filepath', sep=',')

または

 import numpy as np
 myFile = np.genfromtxt('filepath', delimiter=',')
8
Humi