Seite 1 von 1

Spaltenüberschrift ändern in .xls Datei

Verfasst: Montag 8. September 2014, 14:13
von MarcNAV
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()





Re: Spaltenüberschrift ändern in .xls Datei

Verfasst: Montag 8. September 2014, 16:18
von EmaNymton
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.

Re: Spaltenüberschrift ändern in .xls Datei

Verfasst: Mittwoch 10. September 2014, 14:34
von MarcNAV
Danke dir;)