python - 在 Python 中删除 csv 文件中的空白行
问题描述
我在一个文件夹中有一些 csv 文件,我正在尝试删除所有空白行并将新闻文件移动到一个新文件夹中。
这是我的代码:
import csv
import glob
import os
import shutil
path = 'in_folder/*.csv'
files=glob.glob(path)
#Read every file in the directory
x = 0 #counter
for filename in files:
with open(filename, 'r') as fin:
data = fin.read().splitlines(True)
with open(filename, 'w') as fout:
for line in fin.readlines():
if ''.join(line.split(',')).strip() == '':
continue
fout.write(line)
x += 1
dir_src = "in_folder"
dir_dst = "out_folder"
for file in os.listdir(dir_src):
if x>0:
src_file = os.path.join(dir_src, file)
dst_file = os.path.join(dir_dst, file)
shutil.move(src_file, dst_file)
代码现在正在做的是从文件中删除所有内容并将它们移动到新文件夹中。我希望我的文件相同,但删除了空白行。
解决方案
您可以将每一行输出到新文件,之后无需进行任何移动:
dir_src = "in_folder/*.csv"
dir_dst = "out_folder"
files = glob.glob(dir_src)
# Read every file in the directory
x = 0 # counter
for filename in files:
outfilename = os.path.join(dir_dst, os.path.basename(filename))
with open(filename, 'r') as fin:
with open(outfilename, 'w') as fout:
for line in fin:
if ''.join(line.split(',')).strip() == '':
continue
fout.write(line)
x += 1
推荐阅读
- xpages - how to define a conditional xp:confirm?
- javascript - Vue.js - 将变量附加到组件
- service - mqtt 的负载测试服务
- c# - 在 WPF 中的 LinearGradientBrush 中禁用颜色混合
- google-apps-script - Pull-down list by another answer in Google Form
- angular - Can We add hash(#) after query params(with ?) in Angular 4/6 routing?
- ios - TTTAttributedLabel didSelectLink 没有在 swift 4.0 中调用
- jquery - Bootstrap 4 下拉菜单在使用 create-react-app 生成的项目中不起作用
- java - 无法为事务打开 JDBC 连接
- java - 找不到 Spring 安全类 DefaultLogoutPageGeneratingFilter