2017-09-17 15 views
0

を私はそうのようなその中の値を持つテキストファイルがあります。読み込みテキストファイルの値 - Pythonの

1913 - 5,588,048 
1914 - 4,202,179 
1915 - 1,172,258 
1916 - 2,481,675 
1917 - 5,521,373 
1918 - 6,052,289 
1919 - 7,835,400 

1920 - 1929 
1920 - 10,649,851 
1921 - 2,582,495 
1922 - 4,763,186 

を私は数字のこれら二つの列の2次元プロットをしたいです。 19xxとx軸、もう一方の列はy軸です。私はsplit()を使って ' - 'を取り除き、何らかの理由で ''を取り除くのに問題があります。これまで

マイコード:

:PLT xの

x = [] 
y = [] 
with open('Nickels.txt') as file: 
    for line in file: 
     d1 = line.strip().split('-') # Splits X and Y constituents 
     if len(d1) !=2: continue  # Skips the empty lines 

     d2 = d1[1].strip().split(',') # Splits Y columns 
     if len(d2) !=3: continue  # Skips range lines 

     x.append(int(d1[0].strip())) # Builds X 
     y.append(int(''.join(d2)))  # Builds Y 

内容としてNP 輸入matplotlib.pyplotとして

インポートnumpyの:このコードは、あなたの問題を解決する必要があり

import numpy as np 
import matplotlib.pyplot as plt 

with open("Nickels.txt") as f: 
    data = f.read() 

data = data.split('\n') 


data2 = [row.split(' - ',1) for row in data] # to get rid of ' - ' 
data2[:] = [item for item in x if item != ''] # to get rid of '' 


x = [] 
y = [] 
for i in range(len(x)): #making lists 
    x.append(0) 
    y.append(0) 
for j in enumerate(data2): 
    x[i] = data2[:1] 

print(x1) 

#will proceed after part above works. 
#fig = plt.figure() 
#ax1.plot(x1,y1, c='r', label='Data') 
#plt.show() 
+1

あなたは正確にあなたがx軸とy軸を同じに沿って持ちたいものを記入してくださいもらえますか?また、少なくとも10行のデータファイルを与えます(各行は4つのスペースでインデントされています)。 –

+1

あなたの入力セクションを編集しました。あなたのファイルが編集済みのものかどうかを確認してください。本当に空白行が含まれていますか? –

+0

ここにはいくつかの空白行があります。数字が繰り返される直前。例えば。 1920 – Michael

答えて

1

[1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922] 
Yのの

内容:

[5588048, 
4202179, 
1172258, 
2481675, 
5521373, 
6052289, 
7835400, 
10649851, 
2582495, 
4763186] 
+0

ありがとうございました。これは私がカナダのコインの調子をプロットするのに役立ちます!コーディングを簡単にするためのヒント私が使っている方法については読んだけど、実際に使うのは難しいです。 – Michael

+1

@Michaelよろしくお願いします! Pythonやその他の言語でどれくらいの経験がありますか? –

+0

私はCSで4年目の物理学の主要なマイナーですので、私は5つのコンピュータサイエンスクラスを取ってきましたが、2つしか実際にはコーディング(C++)を含んでいませんでした。また、私は夏のフルタイムの仕事としてPythonを使っていましたが、それは1年以上前です。 – Michael

関連する問題