- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 dictreader 打开一些 csv 文件,将它们添加到一个大的词典列表中,然后使用 dictwriter 将词典列表写入一个 csv 文件。
我遇到的问题是生成的 csv 文件在包含数据的行之间有一堆空白行。我想当读取 csv 文件时,它不会忽略空白行。
有人可以向我发送正确的方向以了解我如何说忽略空白行吗?
我试过在 csv 模块中找到它,但没有成功。
如有任何帮助,我们将不胜感激。
嗨!感谢回复!我更希望 dictreader 在行中有任何感兴趣的内容时读取行,但只有当它完全空白时才会忽略行。例如,如果我有
{'1': '', '2': 'two', '3': ''},
{'1': '', '2': '', '3': ''}
我只想留着
{'1': '', '2': 'two', '3': ''}
我发现以下对我有用
for dictionary in csv.DictReader(open(filename)):
if any(x != '' for x in dictionary.itervalues()):
最佳答案
您可以读取一个假文件对象,它会跳过真实文件中的空行。我不完全了解你在做什么,但如果空行使你的阅读过程崩溃,或者你真的不希望那里有空行,这将比 mac 的答案更好。
class BlankLineSkipper(object):
def __init__(self, file):
self.file = file
def __iter__(self):
return (line for line in self.file if line.strip())
def read(self):
return ''.join(self)
>>> print open('lol.csv').read()
5,7,8
1,2,3
abc,lol,haha
>>> list(csv.reader(open('lol.csv')))
[['5', '7', '8'], [], ['1', '2', '3'], [], ['abc', 'lol', 'haha'], []]
>>> list(csv.reader(BlankLineSkipper(open('lol.csv'))))
[['5', '7', '8'], ['1', '2', '3'], ['abc', 'lol', 'haha']]
(您可能需要实现 readline()
或其他方式来使您的代码正常工作,具体取决于它如何使用文件对象。)
关于python - 如何忽略csv文件中的空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422250/
我正在使用 LinqToExcel 轻松地将 Excel 数据导入 SQL Server。 var fileName = ConfigurationManager.AppSetting
在我的 MVVM WPF 应用程序中,我使用的是数据绑定(bind)流文档。我使用了 here 描述的技术能够将我的数据绑定(bind)到流文档。 我的流文档绑定(bind)到我的 View 模型中的
好吧,这很难解释。 场景: 我有一个 DataGrid 定义如下: 它有两个 header ,我需要添加数据,我做了很多研究建议使用 Obs
如果用户单击 DataGridView 底部的空白行并将焦点从 DataGridView 移开,则现在单击的行将处于指示对该行进行更改的状态。 是否可以告诉 DataGridView 取消将此行标记为
我必须迭代行并将其添加到列表中,但我得到的总行数是 Excel 工作表中存在的总行数,即 1001 行,但我只有 3 行,包括标题,我必须停止使用行号的大小进行循环。 我的代码是 Sheet
我有一个 csv 文件,其中包含必须从中删除的信息(通过删除相应的列来完成),我得到的输出是我所期望的,除了每行之间还给我空白行。我怎样才能摆脱那些? (我目前没有pandas,所以如果有解决这个问题
我是一名优秀的程序员,十分优秀!