Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将csv中带有一些空单元格的行中的文本添加到列表中_Python_Csv - Fatal编程技术网

在Python中将csv中带有一些空单元格的行中的文本添加到列表中

在Python中将csv中带有一些空单元格的行中的文本添加到列表中,python,csv,Python,Csv,现在,我的代码将来自2个不同csv文件的所需行的文本添加到一个列表中: import csv res = [] with open('csvexample.csv') as f, open('csvexample1.csv') as a: reader=csv.reader(f) reader1=csv.reader(a) next(reader) next(reader1) for row in zip(reader, reader1):

现在,我的代码将来自2个不同csv文件的所需行的文本添加到一个列表中:

import csv  

res = []
with open('csvexample.csv') as f, open('csvexample1.csv') as a:
    reader=csv.reader(f) 
    reader1=csv.reader(a)
    next(reader)
    next(reader1)
    for row in zip(reader, reader1):
        res.extend([row[0][0], row[1][1]])  

print(res)  
假设csvexample.csv如下所示:
ID文本
1“早上好”
2“下午好”
3“晚上好”

csvexample1.csv如下所示:
日-月
14“二月”
3月21日

“5月31日”
十,

结果如下:

['1', 'feb', '2', 'mar', '3', '']  

但是,我希望它打印出'May',因为csvexample1.csv文件很好,只需忽略空单元格。我需要对当前代码做哪些更改才能确保实现这一点

只需添加一个筛选空行的生成器即可

for row in zip((row for row in reader if row), 
    (row for row in reader1 if row)):

是你写的吗?你有没有用你的csv示例测试过它?@wwii部分,主要是把现有的代码拼凑在一起,我得到了用单词来拆分句子等方面的帮助。是的,我用我的例子CSV来测试它。考虑删除例子中不需要的代码…就像nltk一样。该代码有几个bug(
row[0][0]
?)分散了问题的注意力。发布一些你自己运行过的、显示问题的东西。否则你就要坚持到底了。@tdelaney这段代码是更大代码的一部分,我将来自两个不同公司的tweet添加到一个列表中,并将其追随者的tweet添加到另一个列表中,以测量两个文本之间的相似性,这就是nltk内容出现在其中的原因。我现在在csv示例上运行它,因为带有tweet的csv文件非常大。起初,csvexample1没有任何空白单元格,因此这部分代码产生了以下结果:['1','2','2','3','5']。然而,当检查它是否仍然在空单元格中工作时,它没有打印“may”。为什么这个问题并不重要。你解释得很好,问题出在代码上。我想复制你的代码来测试我的答案,但你没有让这变得容易。它有我没有在我的机器上安装的bug和东西。轻松点!