2017-09-21 11 views
0

[xxの範囲xx]を使用してテーブルに新しい行を追加する以外に、テーブルをより効率的に作成する方法を探しています。スプレッドシートには何千もの行があるため、これには長い時間がかかります。XLSXファイルのデータでテーブルを塗りつぶすPython3 sqlite3 openpyxl

import openpyxl 
import sqlite3 
wb=openpyxl.load_workbook('GlobalLandTemperaturesByCountry.xlsx') 
print(wb.get_sheet_names()) 
#GlobalLandTemperaturesByCountry 
sheet = wb.get_sheet_by_name('GlobalLandTemperaturesByCountry') 
print(sheet.max_row) 
#577463 rows 

wb2=openpyxl.load_workbook('GlobalLandTemperaturesByState.xlsx') 
print(wb2.get_sheet_names()) 
#GlobalLandTemperaturesByState 
sheet2 = wb2.get_sheet_by_name('GlobalLandTemperaturesByState') 
print(sheet2.max_row) 
#645676 rows 
wb3=openpyxl.load_workbook('GlobalLandTemperaturesByMajorCity.xlsx') 
print(wb3.get_sheet_names()) 
#GlobalLandTemperaturesByMajorCi 
sheet3 = wb3.get_sheet_by_name('GlobalLandTemperaturesByMajorCi') 
print(sheet3.max_row) 
#239178 rows 

    connection = sqlite3.connect('temperature.db') 
    cursor = connection.cursor() 

    cursor.execute('''CREATE TABLE Countries 
     (Date DATE, AverageTemperature REAL, AverageTemperatureUncertainty REAL, Country TEXT) 

    ''') 
    cursor.execute('''CREATE TABLE States 
     (Date DATE, AverageTemperature REAL, AverageTemperatureUncertainty REAL, State TEXT, Country TEXT) 

    ''') 
    cursor.execute('''CREATE TABLE Towns 
     (Date DATE, AverageTemperature REAL, AverageTemperatureUncertainty REAL, City TEXT, Country TEXT, Latitude REAL, Longitude REAL) 

    ''') 

すべてのテーブルが同じDBファイルに

おかげで、〜のpython noobie〜

+0

[pandas](http://pandas.pydata.org/) –

答えて

0

ワークブックあたり

1枚保存されます私は、CSVファイルにXLSXファイルを変換することを決定しているようですもっと速くなるよ。