[英]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.