0
循環我有以下代碼:寫作值在csv文件
from math import *
from scipy.special import *
import matplotlib.pyplot as plt
import csv
## Definition der Parameter für Druckgleichung nach Rudnicki (1986) ##
q = 6.0/1000 # Fluidmenge pro Fläche und Zeit [l/s]
rhof = 1000 # Dichte Flüssigkeit [kg/m³]
lameu = 11.2*10**9 # Lamé-Parameter, undrained [Pa]
lame = 8.4*10**9 # Lamé-Parameter, drained [Pa]
pi # durch Pythonmodul "math" gegeben
alpha = 0.65 # Biot-Willis-Koeffizient
G = 8.4*10**9 # Schermodul [Pa]
k = 1.0e-15 # Permeabilität [m²] bzw. [Darcy]
eta = 0.001 # Viskosität des Fluids [Pa*s]
t = 1000*24*3600 # Zeit in [s]
## Beziehungen der Parameter untereinander ##
kappa = k/eta # Berechnung der Permeabilität nach Rudnicki (1986), [m³*s/kg]
print "kappa ist:",kappa # Ausgabe Permabilität
c = (kappa*(lameu-lame)*(lame+2*G))/((alpha**2)*(lameu+2*G)) # Berechnung der Diffusivität
print "c ist:",c # Ausgabe der Diffusivität
## Bereiche der Achsen in [m] ##
#def drange(start, stop, step):
# r = start
# while r <= stop:
# yield r
# r += step
xmin = 1
xmax = 20
ymin = 1
ymax = 20
## Druckberechnung um Bohrung ##
for x in range (xmin,xmax,1):
for y in range (ymin,ymax,1):
r = sqrt(x**2+y**2)
P = (q/(rhof*4*pi*kappa))*(expn(1,r**2/(4*c*t)))
z = P/1e6
#print x, " ", y, " ", z
對於我的輸出中,我想寫一個csv文件我的x,y和z值。它應該看起來像單行內的單元格中的每個x值和同一列內單元格中的每個y值,從而可以爲每個x/y組合顯示一個z值。它應該是這樣的:
x x1 ...
YZ(X,Y)Z(X 1,Y)...
Y1 Z(X,Y)Z(X1,Y1)...
... ... ...
我是新來的csv模塊,並沒有真正習慣它,特別是如何設置值在正確的地方,以及何時使用它(例如裏面或循環後)。這可能嗎?或者可以將它只能是這樣的(類似我outcommented打印):
XYZ(X,Y)
X Y1 Z(X,Y)
X Y2 Z(X,Y2) ......
對不起,這挺奇怪的和醜陋的格式,但我想你明白我的想法:)
任何幫助 - 一如既往 - 不勝感激!
什麼是'scv'模塊,什麼是'pi'變量?它似乎沒有初始化。 – Marcin 2014-12-19 01:27:15
抱歉Marcin,我忘了糾正這兩個問題。感謝您的提示! – Alex 2014-12-19 12:00:43