ky = result['关键词'].astype(str) ky = {y: w.encode('utf-8').decode('utf-8') for y, w in ky.items()} ky_str = str(ky) ky_str = re.match(r"[\u4e00-\u9fa5]+", ky_str) keywords = result['关键词'].astype(str) keywords ={k: v.encode('utf-8').decode('utf-8') for k, v in keywords.items()} file = open('1.txt',mode='w',encoding='utf-8') file.write(ky_str) file.close()
时间: 2024-01-08 16:02:51 浏览: 265
感谢你提供的代码。根据你的代码,我看到你尝试使用`re.match()`来匹配中文字符,然后将其写入文件。但是,`re.match()`方法只会从字符串的开头开始匹配,因此可能无法得到你期望的结果。
如果你想要匹配整个字符串中的中文字符,可以使用`re.findall()`方法,并将匹配结果转换为字符串后写入文件。以下是修改后的示例代码:
```python
import re
keywords = result['关键词'].astype(str)
keywords = {k: v.encode('utf-8').decode('utf-8') for k, v in keywords.items()}
ky_str = str(keywords)
# 使用正则表达式匹配中文字符
pattern = r"[\u4e00-\u9fa5]+" # 匹配一个或多个中文字符
matches = re.findall(pattern, ky_str)
# 将匹配到的中文字符串写入txt文件
with open("1.txt", "w", encoding="utf-8") as file:
for match in matches:
file.write(match + "\n")
```
在这个修改后的代码中,我们使用了`re.findall()`方法来在`ky_str`字符串中匹配所有的中文字符,并将结果保存在`matches`列表中。然后,我们打开文件`1.txt`,并将匹配结果逐行写入文件。
请确保你已经正确导入了需要使用的库,并根据实际情况修改代码中的变量名和文件名。如果还有其他问题,请提供更多相关的信息,以便我更好地帮助你。
阅读全文