0

私は学生で、この仕事をするための大きな期限はありません。では、問題は次です。私はコードの一部を持っています:

import matplotlib.pyplot as plt
from pylab import *
import cmath
def sf(prompt):
""" """
    error_message = "Value must be integer and greater or equal than zero"
    while True:
        val = raw_input(prompt)
        try:
            val = float(val)
        except ValueError:
            print(error_message)
            continue
        if val <= 0:
            print(error_message)
            continue
        return val
def petrogen_elements():
    """Input and calculations the main parameters for
    pertogen elements"""
    print "Please enter Petrogen elements: \r"
    SiO2 = sf("SiO2: ")
    Al2O3= sf("Al2O3: ")
    Na2O = sf("Na2O: ")
    K2O =  sf("K2O: ")

    petro = [SiO2,TiO2,Al2O3,]                    

    Sum = sum(petro)

    Alcal = Na2O + K2O
    TypeA lcal= Na2O / K2O
    Ka= (Na2O + K2O)/ Al2O3 

    print  '-'*20, "\r Alcal: %s \r TypeAlcal: %s  \
     \r Ka: %s \r" % (Alcal, TypeAlcal,Ka,)

petrogen_elements()

では、問題はその次です。Excelファイルを読み込んで読み込み、その中のすべてのデータを読み込む必要があります。その後、プログラムは、たとえばアルカリ、アルカリの種類などを計算する必要があります.Excelファイルはこの構造のみです

   1    2     3     4    5     
1 name1 SiO2 Al2O3 Na2O K2O
2        32  12    0.21 0.1
3 name2 SiO2 Al2O3 Na2O K2O
4        45    8   7.54  5
5 name3 SiO2 Al2O3 Na2O K2O
6. … …. …. …
…
… 

すべての Excel ファイルには、5 つの列と無制限の行しかありません。ユーザーは、入力データまたはインポート Excel ファイルを選択できます。私が行った作業の最初の部分ですが、それは大きな部分のままです 最後に、すべてのファイルを読み取って値を計算する必要があります。

私はいくつかのアドバイスにとても感謝しています

4

1 に答える 1

1

この Web サイトhttp://www.python-excel.org/には、すべての主要な Python Excel 関連ライブラリが一覧表示されています。私は個人的に XLRD (最初にリストされたもの) を試してみましたが、すばらしいことがわかりました。

また、大統領選挙がエジプトで行われたときに、mysql データベースにインポートする必要のある Excel シートに大量のデータがあったため、それを使用していくつかの作業を行いました。Github でコードを公開しました: https://github.com/mos3abof/egypt-elections-misc

最初にxlrdをインストールします

作成するスクリプトは次のようになります。

from xlrd import *
## Opening the excel file
book = open_workbook('excel_file.xls')

## Reading the sheet we need
## Most probably the data will be on the first sheet, 
## otherwise this needs to be updated
our_sheet = book.sheet_by_index(0)

## Get the rows number
rowcount = our_sheet.nrows

## Looping over sheet rows
for i in range(rowcount -1):
    ## Get the data in the row
    our_row = our_sheet.row_slice(i+1)

    ## Access each row by index and do whatever you like with it
    ## Since you have 5 columns, the index will range from 0 - 4
    print our_row[0]
    print our_row[1]
    print our_row[2]
    print our_row[3]
    print our_row[4]

上記のスクリプトの実際の例は、次のファイルにあります: https://github.com/mos3abof/egypt-elections-misc/blob/master/elections_import_excel.py

于 2012-12-10T17:12:53.530 に答える