【问题标题】:Read CSV cells; write to dictionary/array读取 CSV 单元格;写入字典/数组
【发布时间】:2012-05-10 00:01:20
【问题描述】:

我正在尝试创建一个 python 脚本来读取 CSV 文件,例如,每次出现字母“a”或整数 1 出现时计数。

目前我已经修改了代码以将列表设置为从 csv 文件中读取的一行数据,并且我正在尝试创建一个循环来通过数组或字典跟踪该数据。

# -*- coding: cp1252 -*-

import os

os.chdir('F:\Muiltimedia Tools\Projects\KippurCat Arts™\Python\Input')

'Initialize variables'
checklet = 'x';count = 0;index = 0


"Import Excel Data"
import csv
with open('test.csv', 'rb') as f:
    reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE)
    for row in reader:
        print row
        alist = row




print alist.count(1)

print count

此外,我正在寻找一种简单的方法将 00:00:00 格式的时间数据转换为秒。

请记住,我确实是 python 新手,但我之前有一些其他基本语言的编码经验。

【问题讨论】:

    标签: python arrays csv dictionary


    【解决方案1】:
    import csv
    from collections import Counter
    
    def strToSeconds(st):
        h,m,s = st.split(':')
        return 3600*int(h) + 60*int(m) + int(s)
    
    def main():
        fname = "F:/Multimedia Tools/Projects/KippurCat Arts™/Python/Input/test.csv"
    
        # read data
        c = Counter()
        with open(fname, 'rb') as f:
            reader =  csv.reader(fname, delimiter=':', quoting=csv.QUOTE_NONE)
            for row in reader:
                c.update(row)
    
        # show results of interest
        for val in ('a', 1):
            print("Number of {}s: {}".format(val, c[val]))
    
    if __name__=="__main__":
        main()
    

    【讨论】:

    • 谢谢,我在论坛上阅读了很多,并找到了一个类似的解决方案,但看到另一个补充我的解决方案仍然很有价值。
    猜你喜欢
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多