python - 向 CSV 文件添加一行 - TypeError : must be str, 不是元组

标签 python csv python-3.x

尝试以以下格式向我的 CSV 文件中添加一行; “名称,值(value)”。 这是 CSV 文件:

Japanese Yen,169.948
US Dollar,1.67
Pound Sterling,1
Euro,5.5

这是负责向 CSV 文件添加一行的代码部分:

def add():         
    addCurrency = input("What currency would you like to add: ")
    newRt = float(input("Please enter the new exchange rate from Pound Sterling: "))
    adding = str(addCurrency), str(newRt)
    file = open('exchangeRate.csv', 'a')
    file.write(adding)

最佳答案

好吧,在提问之前先做一些测试。在 file.write(adding) 之前你可以放一个 print(adding) of print(adding.__repr__()) 看看是什么您的 adding 实例存在 Python 问题。您会看到它类似于 ('Euro', '5.5'),它是一个元组。如果 Python 提示它需要一个字符串而不是一个元组,那么你向那里传递了一个元组。首先,不要将 newRt 输入转换为 float ,因为您也需要它作为字符串。您在这里需要的是 adding = ','.join((addCurrency, newRt)) + '\n'adding = '{},{}\n'.format(addCurrency , newRt)adding = addCurrency + ',' + newRt + '\n'。在质疑 SO 之前,试着找出像这样的简单问题。阅读文档的教程。

关于python - 向 CSV 文件添加一行 - TypeError : must be str, 不是元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984000/

相关文章:

python - 如何在 pandas 数据框中插入列表

python - PRAW/Tweepy 过滤关键字

python - 降低列表操作的复杂性

python - 带有 osx 后端的 Matplotlib 3.0

从 CSV 批量加载 java derby 数据库

php - 如何将 CSV 解析为以第一个值作为键的数组?

Python函数装饰器错误

python - 为什么这个 AssertionError 异常不继续

ruby - 如何用不在引号中的冒号分隔字符串

python-3.x - Tensorflow 错误 "UnimplementedError: Cast string to float is not supported"- 使用估计器的线性分类器模型