繁体   English   中英

Python excel append 数据

[英]Python excel append data

我正在尝试 append 将单词插入 excel 的 L 列中的行中,但是我希望它到 append 将值一个接一个地移动到每个单元格的 for 循环中,然后将stemmeddata,它只会将最后一个单词输入到单元格中。

from hashlib import new
import pandas as pd
from string import punctuation
from openpyxl import Workbook, load_workbook
from openpyxl.utils import get_column_letter
from nltk.tokenize import word_tokenize
from nltk.stem import PorterStemmer
from nltk.stem import SnowballStemmer


pst=PorterStemmer()
wb = load_workbook('report.xlsx')
ws = wb.active
sbst=SnowballStemmer('english')
df = pd.read_excel('report.xlsx')

for row in range(2,10):
    for col in range(10,11):
        char = get_column_letter(col)
        data = ws[char + str(row)].value
        data = data.lower()
        data = data.replace('-',"").replace('"',"").replace(':',"").replace('/',"").replace(',',"")
        new = word_tokenize(data)
        
        for w in new:
            stemmeddata = pst.stem(w)
            #print(stemmeddata)
    for i in range(2,20):
        ws['L'+ str(i)] = stemmeddata

wb.save('stem.xlsx')
#  other codes
df = pd.read_excel('report.xlsx')

stemmeddata = "" #  Add this
for row in range(2,10):
    #  other codes
        
        for w in new:
            stemmeddata += pst.stem(w) #  Add plus sign, instead of just = sign
    #  other codes

您需要初始化 stemmeddata(更好的变量名称是 stemmed_data)并在循环内连接新数据。 替代串联是:

stemmeddata = stemmeddata + pst.stem(w) 

在没有初始化的情况下,stemmeddata 会获取您分配给它的最后一个数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM