【发布时间】:2012-07-25 22:28:41
【问题描述】:
我正在尝试从 CSV 文件 (A) 读取数据,提取数据,然后将其写入另一个 CSV 文件 (B)。在新文件 B 中,我想要两列。第 1 列列出文件 A 中第 1 列的名称,第 2 列列出文件 A 中第 1 列的计数。例如,如果文件 A 看起来像这样,没有“:”(它们排成两列):
Animal: Gender
Rabbit: Male
Dog: Male
Rabbit: Female
Cat: Male
Cat: Male
Dog: Female
Dog: Male
Turtle: Male
我希望文件 B 中的输出看起来像这样(实际上在不同的列中再次没有 ':'):
Animal: Count
Cat: 2
Dog: 3
Rabbit: 2
Turtle: 1
这是我第一次做这样的事情,这就是我到目前为止所做的事情,但是我未能将数据打印到文件 B 中并正确完成“计数”。有人可以帮我解决这个问题吗?
import csv
ReadData=csv.reader(open('C:\Users\..\FileA.csv','rb'), delimiter=',')
def column(ReadData, i):
return [row[i] for row in ReadData]
for line in ReadData:
WriteData=csv.writer(open('C:\Users\..\FileB.csv','wb'),
delimiter=' ', quotechar=':', quoting=csv.QUOTE_ALL)
print column(ReadData,1)
提前感谢您的帮助!
【问题讨论】:
-
此link 向您展示如何使用标记进行编辑/发布
-
感谢您的快速回复!我一直在检查此链接,但在放置空格时遇到问题...我可能遗漏了一些东西...
-
对于代码,只需 (1) 将其粘贴,(2) 突出显示/选择代码块,然后点击 (3) Control-K .. 它将向右移动(我认为 4列)并使其正确显示为代码。
-
谢谢大家。我想有人在我尝试修复它时编辑了格式。不,这不是家庭作业。我正在从头开始学习 Python 以进行研究。
-
如果我试图解决这个问题,我会先阅读所有内容,可能会使用字典来保持运行总数,然后在阅读整个输入后,写出我的字典。 . .