我将基于日期列的CSV文件拆分为单独的文件.但是,某些行确实包含日期,但其他行包含日期.我想从CSV中删除包含空单元格的这些行.但我不知道该怎么做.
这是我的代码:
csv.field_size_limit(sys.maxsize) with open(main_file, "r") as fp: root = csv.reader(fp, delimiter='\t', quotechar='"') result = collections.defaultdict(list) next(root) for row in root: year = row[0].split("-")[0] result[year].append(row) for i,j in result.items(): row_count = sum(1 for row in j) print(row_count) file_path = "%s%s-%s.csv"%(src_path, i, row_count) with open(file_path, 'w') as fp: writer = csv.writer(fp, delimiter='\t', quotechar='"') writer.writerows(j)
Phlya.. 6
Pandas非常适合这种情况,特别是如果您希望将其轻松调整为其他文件格式.当然,人们可以认为这是一种矫枉过正.要删除包含空单元格的行:
>>> import pandas as pd >>> data = pd.read_csv('example.csv', sep='\t') >>> print data A B C 0 1 2 5 1 NaN 1 9 2 3 4 4 >>> data.dropna() A B C 0 1 2 5 2 3 4 4 >>> data.dropna().to_csv('example_clean.csv')
我离开执行拆分并使用pandas保存到单独的文件中作为练习,如果你想要开始学习这个伟大的包:)
Pandas非常适合这种情况,特别是如果您希望将其轻松调整为其他文件格式.当然,人们可以认为这是一种矫枉过正.要删除包含空单元格的行:
>>> import pandas as pd >>> data = pd.read_csv('example.csv', sep='\t') >>> print data A B C 0 1 2 5 1 NaN 1 9 2 3 4 4 >>> data.dropna() A B C 0 1 2 5 2 3 4 4 >>> data.dropna().to_csv('example_clean.csv')
我离开执行拆分并使用pandas保存到单独的文件中作为练习,如果你想要开始学习这个伟大的包:)