需要新变量吗?如何在python 3.x中写入新文件(csv?)

时间:2018-10-16 19:35:25

标签: python csv

我正在图书馆环境中处理统计数据-并记录一些每月的数字(这对编程和python来说还很新)。借此机会学习一些python,其中在perl中读取了旧ILS中的过程。

场景是:

a。我有一个来自oracle报告的输出,该输出将另存为csv文件 b。该文件被打开并且行被分割,因此字符串是可哈希的。 C。使用索引对这些字符串进行迭代,计数,并使用字典附加含义。我使用print()的输出正是我所需要的(结果很简单,每个人都易于读取)。

但是我很难将输出转换成新文件中的可写行。

for stat in dataSet:
statCount = stat_reader.count(stat)
name = team[stat[:3]]
code = codes[stat[-3:]]

    #for line in sorted(m_stats):
print(name + ': ' + code + ': ' + str(statCount))

我已经尝试使用input(''),csv.writer,csv.DictWriter以及其他方法来将完美且可打印的输出移动到可用变量中,以便在打印到新文件时进行写入...

我想念什么(或者我想得太多了?)

此外,我希望以.csv输出,但很乐意以.odt或.docx输出

::

稍作跟进

从昨天开始运行完全相同的固定脚本(数据是干净的,所有键/值对都在字典中,等等)-但是今天,在另一个月的数据上,仅将最后一行输出到.csv文件。

此外,每次运行脚本时,cdm或pycharm的错误都为零,并且输出是不同的结果。

此外(2.0),我在这里描述的这些结果在不同目录(从cmd或pycharm运行)中都是相同的

这让我感到奇怪。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

import csv
with open('out.csv', 'wb') as csvfile:
   writer = csv. writer(csvfile, delimiter=':')
   #for stat in dataSet: # I guess that was your point - if so uncomment this line and add indent to line below
   writer.writerow([name, code, str(statCount)])

阅读以下内容可能会有所帮助:https://docs.python.org/3/library/csv.html