python,查找并打印不同目录中的csv文件中的特定单元格

时间:2015-09-18 15:48:14

标签: python csv

我在不同的目录中有不同的csv文件。所以我想在不同的列中找到与input.txt文件中特定日期对应的特定单元格。 这就是我现在所拥有的:

import glob, os, csv, numpy
import re, csv

if __name__ == '__main__':
Input=open('Input.txt','r');
output = []
for i, line in enumerate(Input):
    if i==0:
       header_Input = Input.readline().replace('\n','').split(',');
    else:
       date_input = Input.readline().replace('\n','').split(',');
a=os.walk("path to the directory")
[x[0] for x in os.walk("path to the directory")]
print(a)
b=next(os.walk('.'))[1] # immediate child directories.
for dirname, dirnames, filenames in os.walk('.'):
    # print path to all subdirectories first.
    for subdirname in dirnames:
      print(os.path.join(dirname, subdirname))

     # print path to all filenames.
    for filename in filenames:
      #print(os.path.join(dirname, filename))
      csvfile = 'csv_file'
      if csvfile in filename:
        print(os.path.join(dirname, filename))

现在我有了csv文件,所以我需要在每个文件中找到date_input,并打印包含所有信息的行。或者,如果可能,仅使用header == header_input。

获取列中的单元格

1 个答案:

答案 0 :(得分:0)

这不是对您问题的完整答案。但您可能需要考虑更换

for i, line in enumerate(Input):
    if i==0:
       header_Input = Input.readline().replace('\n','').split(',');
    else:
       date_input = Input.readline().replace('\n','').split(',');

header_Input = Input.readline().strip().split(',')
date_input = Input.readline().strip().split(',')

enumerate(Input)表达式从文件中读取行,调用循环体中的readline()也是如此。这很可能会导致一些不幸的结果,例如从文件中读取交替的行。

strip()方法从行的开头和结尾删除空格。或者,您可能想知道s[:-1]剥离s的最后一个字符。