Python-Skript skip header-Zeile in der excel-Datei

Schrieb ich ein python-Skript, das ziehen von excel-Dateien aus einem Ordner und schreibt Sie in eine SQL-Tabelle. Ich habe den code zu arbeiten, aber nur, wenn ich löschen Sie die erste Zeile der excel-Datei, die enthält die Header. Ich bin neu in Python, also das ist wohl etwas zu einfach, aber ich sah eine Menge von verschiedenen Techniken und konnte nicht herausfinden, wie legen Sie es in mein code. Irgendwelche Ideen würde sehr geschätzt werden!

# Import arcpy module
from xlrd import open_workbook ,cellname
import arcpy
import pyodbc as p

# Database Connection Info
server = "myServer"
database = "my_Tables"
connStr = ('DRIVER={SQL Server Native Client 10.0};SERVER=' + server + ';DATABASE=' + database + ';' + 'Trusted_Connection=yes')

# Assign path to Excel file
file_to_import = '\\\\Location\\Report_Test.xls'

# Assign column count
column_count=10

# Open entire workbook
book = open_workbook(file_to_import)

# Use first sheet
sheet = book.sheet_by_index(0)

# Open connection to SQL Server Table
conn = p.connect(connStr)

# Get cursor
cursor = conn.cursor()

# Assign the query string without values once, outside the loop
query = "INSERT INTO HED_EMPLOYEE_DATA (Company, Contact, Email, Name, Address, City, CentralCities, EnterpriseZones, NEZ, CDBG) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"

# Iterate through each row

for row_index in range(sheet.nrows):

    row_num          = row_index
    Company          = sheet.cell(row_index,0).value
    Contact          = sheet.cell(row_index,1).value
    Email            = sheet.cell(row_index,2).value
    Name             = sheet.cell(row_index,3).value
    Address          = sheet.cell(row_index,4).value
    City             = sheet.cell(row_index,5).value
    CentralCities    = sheet.cell(row_index,6).value
    EnterpriseZones  = sheet.cell(row_index,7).value
    NEZ              = sheet.cell(row_index,8).value
    CDBG             = sheet.cell(row_index,9).value

    values = (Company, Contact, Email, Name, Address, City, CentralCities, EnterpriseZones, NEZ, CDBG)

    cursor.execute(query, values)

# Close cursor
cursor.close()

# Commit transaction
conn.commit()

# Close SQL server connection
conn.close()
  • Klingt wie Sie brauchen nur zu ändern for row_index in range(sheet.nrows): zu for row_index in range(1, sheet.nrows): überspringen der ersten Zeile.
  • Es gibt nichts in Excel, die sagt: "dies ist eine Kopfzeile" also Sie haben entweder wissen, wie viele Zeilen zu überspringen (Aya ' s Kommentar) oder erraten.
InformationsquelleAutor LauraJ | 2013-05-31
Schreibe einen Kommentar