Spaltenüberschrift ändern in .xls Datei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MarcNAV
User
Beiträge: 52
Registriert: Freitag 16. Mai 2014, 11:39

Montag 8. September 2014, 14:13

Mein Vorhaben: Nach bestimmten String in Excel Tabelle suchen und durch anderen String ersetzen.
'Gridcode' soll durch den Basename der Exceldatei ersetzt werden. Bin schon wieder seit einer Stunde am rumgooglen und finde keinen guten bzw. einfachen Ansatz bisher. Mit der replace-Methode funktioniert es leider nicht. Danke schonmal;)

Code: Alles auswählen

import glob, xlrd, xlwt

def main():

    workspace = 'F:/EigeneDateien/Test'
    files = glob.glob(workspace + '/*.xls')
    for file in files:
        filename = os.path.basename(file)[:-len('.xls')]
        data = xlrd.open_workbook(file, on_demand=True)
        sheet = data.sheet_by_index(0)
        for row in range(sheet.nrows):
            for column in range(sheet.ncols):
                if 'GRIDCODE' in sheet.cell(row,column).value:
                    data.replace("GRIDCODE", filename)

        print 'Done'

if __name__ == '__main__':
    main()




EmaNymton
User
Beiträge: 174
Registriert: Sonntag 30. Mai 2010, 14:07

Montag 8. September 2014, 16:18

Du setzt auch keinen neuen Eintrag, soweit ich das richtig überblicke.

Code: Alles auswählen

In [1]: test = "GRIDCODE"

In [2]: test.replace("GRIDCODE","Foo")
Out[2]: 'Foo'

In [3]: test
Out[3]: 'GRIDCODE'

In [4]: test = test.replace("GRIDCODE","Foo")

In [5]: test
Out[5]: 'Foo'
Edit: Und data ist in deinem Beispiel auch falsch gewählt. Du willst ja den Wert der Zelle verändern und nicht die Book-Instanz, die open_workbook zurückgibt.
MarcNAV
User
Beiträge: 52
Registriert: Freitag 16. Mai 2014, 11:39

Mittwoch 10. September 2014, 14:34

Danke dir;)
Antworten