私はPythonには新しく、タブ区切りテキストファイルを読み込んでデータから辞書を作成する機能を作成しようとしています。PythonでPython辞書を作成するヘッダーをキーワードとしてタブ区切りのテキストファイルを作成する
Time_(s) Mass_Flow_(kg/s) T_in_pipe(C) T_in_water(C) T_out_pipe(C) T_out_water(C)
0 1.2450 16.9029 16.8256 16.6234 16.6204
2.8700 1.2450 16.8873 16.8094 16.6237 19.6507
5.6600 1.2450 16.8889 16.8229 19.1406 29.1320
8.7800 1.2450 16.8875 16.8236 24.1325 34.9077
11.6200 1.2450 16.8794 16.8040 28.3927 38.5443
16.0600 1.2450 16.8615 16.7942 33.7205 42.4149
18.8900 1.2450 16.8512 16.7938 36.2797 44.1221
23.0200 1.2450 16.8319 16.7903 39.2102 46.1857
25.7600 1.2450 16.8380 16.7952 40.7243 47.2657
は好ましくは、私は、データの各列を格納したコードを書きたい:私は主に、各列に対応するヘッダと数値データ列を区切り、タブの数は、次の形式のテキストファイルを取り扱っておりますまた、各列の見出しを別々の配列に格納して、それらを辞書のキーワードとして使用することもできます。たとえば、辞書キー "Mass_Flow_(kg/s)"を検索すると、質量流量列(ヘッダを除く)のすべての値の配列が返されます。
これまでnumpy.loadtxtを使用して列から数値配列を作成しようとしましたが、ヘッダーデータの抽出に成功せず、この行をスキップしなければなりませんでした。次のコードは、私が望む辞書を生成しますが、名前が.txtファイル内にすでに含まれているにもかかわらず、それぞれの列に手動で名前を付ける必要はありません。
import numpy as np
time, m_flow, Tin_pipe, Tin_water, Tout_pipe, Tout_water = np.loadtxt("pipeData.txt",skiprows=1,unpack=True)
#Assign each column in file to respective arrays
my_dict = {"Time":time, "Mass flow rate":m_flow, "Tin_pipe":Tin_pipe, "Tin_water":Tin_water, "Tout_pipe":Tout_pipe, "Tout_water":Tout_water}
#Line arrays to keywords and merge into a dictionary
私は、最初の行をスキップしないで試してみましたが、loadtxtは通常のwihを返します。
ValueError: could not convert string to float: Time_(s)
そこで私は、文字列データと数値の両方を読みたい場合は、別のモジュールを使用する必要があると思います。もし誰かがこれをやっていく方法や、これを行うためのより良いモジュールを知っているとの提案があれば、大いに感謝します。キース
パンダのモジュールを見てください –