我是一個python noob,所以請對我輕鬆一點。在Python中打印一個帶有字符串和插入變量的隨機csv單元格2
我有一個例子csv文件(實際的CSV文件有20行2列類似於如下圖所示):
"I hate %s" % x, "I am a %s" % x
"I heart %s" % x, "I am not a %s" % x
我的Python 2.7腳本:
from csv import *
x = "gorillas"
with open('csv_test.csv', 'rU') as csvfile:
spamreader = reader(csvfile, quoting = QUOTE_MINIMAL)
list = []
for row in spamreader:
list.append(row[0])
print list[1]
csvfile.close()
我想我的腳本進行打印:
I heart gorillas
取而代之的則是打印:
"I heart %s" % x
所以,我的變量x沒有被插入到我的字符串中。我假設我的問題是,當我從我的csv中提取單元格的內容時,整個單元格內容被視爲一個字符串。但是,我不知道如何解決這個問題。
作爲獎勵或後續,我也想從我的csv文件中選擇一個隨機單元格。
感謝您的幫助。
我從所有答案中看到,當我使用腳本打印單元格的內容時,一種解決方案是使用eval()。當我運行這個時,這很好用。我認爲這對我來說是一個很好的解決方案,因爲我的最終用途,但我會讓你的專家成爲法官。我的腳本基本上只是較大遊戲腳本的一小部分(僅供個人使用),我的腳本將從我的csv文件訪問隨機單元以供給用戶/玩家。我不打算分享我的腳本或我的csv文件。希望我能以這種方式使用eval。 –
哦,看起來像.replace()也適用於我。我擔心它不起作用,因爲我的csv文件中有一些單元格是格式說明符(%x)的字符串,但某些單元格只是沒有格式說明符的直線字符串。但是,.replace()似乎對沒有格式說明符的單元格沒有影響。我想這是對我的問題更好的解決方案。 –
忘了說感謝Henrik! –