UnboundLocalError: local variable 'data' referenced before assignment

Ouverte
#1,131 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
20/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
pandas, python
Domaine
tooling

Piste de recherche

Commencez par le code de l’issue, en particulier outer_function et la boucle qui lit Sheet1. Exécutez l’exemple pour reproduire l’UnboundLocalError, puis suivez les chemins où les données sont affectées et utilisées ; le travail est terminé lorsque l’exemple gère le contenu pertinent de la feuille de calcul sans faire référence à une variable locale non initialisée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

import xlsxwriter
import pandas as pd
import openpyxl
import pandas as pd

current=1
i = 0
counter=0

Create some Pandas dataframes from some data.

df1 = pd.DataFrame({'Data1': [11, 12, 13, 14]})
df2 = pd.DataFrame({'Data2': [21, 22, 23, 24,25]})
df3 = pd.DataFrame({'Data3': [31, 32, 33, 34,35,36]})
df4 = pd.DataFrame({'Data4': [41, 42, 43, 44,45,46,47]})
df5 = pd.DataFrame({'Data5': [51, 52, 53, 54,55,56,57,58]})

Create a Pandas Excel writer using XlsxWriter as the engine.

writer = pd.ExcelWriter('pandas_positioning.xlsx', engine='xlsxwriter')

Position the dataframes in the worksheet.

df1.to_excel(writer, sheet_name='Sheet1',startrow=0) # Default position, cell A1.
df2.to_excel(writer, sheet_name='Sheet1', startcol=0,startrow=5)
df3.to_excel(writer, sheet_name='Sheet1', startrow=0,startcol=11)
df3.to_excel(writer, sheet_name='Sheet1', startrow=0,startcol=18)
df3.to_excel(writer, sheet_name='Sheet1', startrow=0,startcol=26)

It is also possible to write the dataframe without the header and index.

#df4.to_excel(writer, sheet_name='Sheet1', startrow=7, startcol=4, header=False, index=False)

Close the Pandas Excel writer and output the Excel file.

writer.save()

def outer_function():
import xlrd
wb=xlrd.open_workbook('C:/Users/bened/pandas_positioning.xlsx')
sheet=wb.sheet_by_name('Sheet1')

for i in range(sheet.nrows):
    if(sheet.cell_value(i,0)=='Data3'):
            data=i
    d=0
    while(d<data):
        print('hi')
        break

outer_function()

how do i solve UnboundLocalError: local variable 'data' referenced before assignment
Langage dominant
Python
Étoiles
35.4k
Forks
12.9k
Merge moyen
2 h 37 min
PR mergées (30 j)
1

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de geekcomputers/Python

Toutes les issues de geekcomputers/Python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.