[英]Python csv file creation
在一個戰斗區域中,您將獲得一份 go 的怪物列表以及您的 D&D 游戲。 您決定創建一個程序來讀取這些信息並處理存儲有關這些怪物的附加信息。
輸入 Monsters.csv 也附加在此分配中。 編寫一個腳本,將這個 CSV 文件讀取到 Python 中,並為列表中的每個怪物添加 output 的以下列
- 等級
- 損害
- 命中率
對於級別,以下准則適用
- 侏儒是 1 級
- 獸人是2級
- 骷髏是5級
- 巨人是8級
對於損壞,以下適用
- 侏儒可以隨機傷害 1-3 個生命值
- 獸人可以隨機傷害 2-7 個生命值
- 骷髏可以隨機傷害 3-12 個生命值
- 巨人可以隨機傷害 4-24 個生命值
對於生命值,以下適用
- 侏儒可以隨機擁有 3-6 個生命值
- 獸人可以隨機擁有 4-8 個生命值
- 骷髏可以隨機擁有 6-12 個生命值
- 巨人可以隨機擁有 12-20 生命值
代碼應 output 到名為 New-Monsters.csv 的文件中,該文件遵循上述指南,並將提供電子表格信息(在適當的情況下隨機),如下所示(附加在 New-Monsters-SAMPLE.csv 中)
這是我的任務。 我到目前為止的代碼是......
import csv
with open('Monsters.csv','w',newline='') as fp:
a= csv.writer(fp,delimeter=',')
data=[['Monster names','level','damage','hitpoints'],
['Gnome','1','3','6'],
['Orc','2','7','8'],
['Skeletons','5','12','12'],
['Giants','8','24','20']]
a.writerows(data)
此時,我在 with open monsters 文件行上收到權限被拒絕錯誤。 我該如何解決這個問題,這段代碼會起作用嗎?
看看使用pandas
。 您可以將 csv 文件讀取為 dataframe,然后處理並添加列/行。
import pandas as pd
# return level for name of monster
def level_map( name):
return {
'Gnome' : 1,
'Orc' : 2,
'Skeleton' : 5,
'Giant' : 8
}.get(p)
my_data = pd.read_csv("Monsters.csv", sep = ',', header=None)
my_data.columns =['Monster_name']
# process your data
my_data['Level'] = my_data["Monster_name"].apply(level_map)
f = open("output_file.csv", 'w')
f.write(my_data.to_csv(index = False))
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.