python - Python 只在新的 csv 文件中写入最后一行
问题描述
我只有最后一行写在一个新的 csv 文件中。
f = open(r'dataset.csv', encoding="utf8")
data = f.readlines()
tagged_list = []
for line in data:
tokens = nltk.word_tokenize(line)
tagged = nltk.pos_tag(tokens)
adj = [word for word,pos in tagged \
if (pos == 'JJ' or pos == 'JJR' or pos == 'JJS')]
downcased = [x.lower() for x in adj]
joined = " ".join(downcased).encode('utf-8')
into_string = str(adj)
output = open("out.csv", "wb")
output.write(joined)
output.close()
当我更改 output = open("out.csv", "a")
或output = open("out.csv", "r")
出现错误时
Traceback (most recent call last):
File "nl.py", line 21, in <module>
output.write(joined)
TypeError: write() argument must be str, not bytes
我怎样才能让它一个接一个地写下所有的行,而不仅仅是最后一行。
解决方案
打开这两个文件,并在生成它们时编写这些行(未经测试):
with open('dataset.csv', encoding='utf8') as data:
with open('out.csv','w',encoding='utf8') as output:
for line in data:
tokens = nltk.word_tokenize(line)
tagged = nltk.pos_tag(tokens)
adj = [word for word,pos in tagged
if (pos == 'JJ' or pos == 'JJR' or pos == 'JJS')]
downcased = [x.lower() for x in adj]
joined = " ".join(downcased) + '\n'
output.write(joined)
推荐阅读
- symfony - 使用 OneloginSamlBundle 进行身份验证后从数据库中获取用户
- android - 如何通过 Ionic 从我的应用程序中删除用户数据?
- python - 如何从熊猫文件中检索页脚
- javascript - 尽管请求显示状态 200 且响应负载正确,但 AJAX JSONP 请求失败
- r - nlsLM maxiter 不会改变
- python - python tkinter调整图像大小
- azure-devops - Azure DevOps 工作项中日期之间的天数(按查询)
- php - Ubuntu 运行多个 .service 文件
- javascript - 如何使用带有关键字数组的正则表达式来替换?
- centos - Centos 8 上的 Mezzio 骨架应用程序