gpt4 book ai didi

Python如何使用csv文件中的特定单词获取推文数据并将其放入新的csv文件中

转载 作者:太空狗 更新时间:2023-10-30 01:25:33 24 4
gpt4 key购买 nike

我在 CSV 文件中有数据 twitter(我正在使用 Python API 进行挖掘)。我得到大约 1000 行数据。现在,我想使用特定的印尼语单词“macet”或“kecelakaan”(英文为“traffic”或“accident”)来缩短推文数据,并将匹配的行放入一个新的单独的 CSV 文件中,就像在 Excel 中使用 找到所有

示例数据 twitter 是 example1.csv,搜索单词“macet”或“kecelakaan”后将创建的新文件是 example2.csv。但是没有结果。

import re
import csv

with open('example1.csv', 'r') as csvFile:
reader = csv.reader(csvFile)

if re.search(r'macet', reader):
for row in reader:
myData = list(row)
print(row)

newFile = open('example2.csv', 'w')
with newFile:
writer = csv.writer(newFile)
writer.writerows(myData)

print("Writing complete")

我将 spyder 用于环境 Python 3.6。

CSV 文件已与 Spyder 位于同一文件夹中。这是我的 CSV 推特数据的屏幕截图

myCSVtwitterData

更新:Sample of csv file .使用的操作系统:Windows

最佳答案

您的代码存在一些问题。

在您的阅读循环中,您将 csv.reader 对象传递给 re.search,但它不知道如何搜索该对象。您需要将文本或字节字符串传递给它。

线

myData = list(row)

row 转换为一个新列表并将其保存到 myData,但它已经是一个列表,因此不需要转换。该行替换了 myData 之前的内容,但您实际上想要保存所有匹配的行。但是,无需保存行,您可以随时将它们写入新文件。

无论如何,这是您的代码的修复版本。从屏幕截图来看,您似乎只想搜索输入数据第 2 列中的文本(对应于电子表格中的 C 列)。我创建了一个正则表达式来搜索整个单词“macet”和“kecelakaan”,“\b”匹配单词边界,因此如果“macet”或“kecelakaan”是更大的单词的一部分,我们将无法匹配词。

import re
import csv

# Make a case-insensitive regex to match the words "macet" or "kecelakaan"
pattern = re.compile(r'\bmacet\b|\bkecelakaan\b', re.I)

with open('example1.csv', 'r', newline='') as csvFile, open('example2.csv', 'w', newline='') as newFile:
reader = csv.reader(csvFile)
writer = csv.writer(newFile)

for row in reader:
# Skip empty rows
if not row:
continue
if pattern.search(row[2]):
print(row)
writer.writerow(row)

print("Writing complete")

我刚刚对该代码做了一些改进。它现在使用 newline='' arg 打开 CSV 文件,并跳过输入 CSV 中的任何空行。现在,正则表达式在查找匹配词时会忽略大小写。

关于Python如何使用csv文件中的特定单词获取推文数据并将其放入新的csv文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50549715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com