尝试以以下格式向我的 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/