python - 使用 DictReader 从 csv 读取特定列
问题描述
我从 csv 文件中获取第二列值时遇到问题。
以下代码将数据写入 csv 文件
def save_tweet_to_csv(ticker, tweet, emotion, confidence):
file = Path(url_path + ticker + '_tweets.csv')
if file.is_file():
mode = 'a'
else:
mode = 'w'
with open(url_path + ticker + '_tweets.csv', mode, newline="\n", encoding="utf-8") as csvfile:
fieldnames = ['tweet', 'emotion', 'confidence']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
if mode == 'w':
writer.writeheader()
writer.writerow({'tweet': tweet, 'emotion': emotion, 'confidence': confidence})
我正在尝试通过以下方式从 csv中获取情感列
def plot_tweets_csv(ticker):
file = Path(url_path + ticker + '_tweets.csv')
emotions = []
with open(file, 'r', encoding="utf8") as csvfile:
reader = csv.DictReader(file)
for row in reader :
print(row['emotion'])
但我不断得到那个
文件 ....\Python36\lib\csv.py",第 87 行,在init self.reader = reader(f, dialect, *args, **kwds) TypeError: argument 1 must be an iterator
知道这里可能出了什么问题吗?
解决方案
我认为您需要从更改file
为csvfile
with open(file, 'r', encoding="utf8") as csvfile:
reader = csv.DictReader(csvfile)
...
推荐阅读
- c# - 如何在使用 Unity Scriptable API 的脚本中使用 Humanoid Model : Animator(property)
- java - 为什么我的秒表程序无法运行?
- arrays - 将字节数组转换为 int64 golang 数组
- r - 创建 ggplot2 stat 扩展的计算错误
- python - 使用 pandas 从 json 文件中提取数据时,布尔值会自动转换为大写
- c# - C# 中是否有任何方法,例如 Java 中的 equalsIgnoreCase
- google-cloud-platform - GCP IoTCore won't parse payload using Gateways and HTTP bridge
- innerhtml - 如何使用 innerHTML 将 js 数组插入到 html 中?
- ruby-on-rails - 如何将查询参数放在 _path rails_helper 上
- javascript - 微软边缘控制台中的 javascript 错误