我正在图书馆环境中处理统计数据-并记录一些每月的数字(这对编程和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运行)中都是相同的
这让我感到奇怪。 有什么想法吗?
答案 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