2014-01-09 47 views
0

我正在读取从CSV文件复制的文本文件。当我在python中读取文件时,会看到大量不必要的重复行,如下所示。我如何去掉这三个不需要的行,包括在每个文本的开头和结尾处的\ cf0和\ cell \ row?在阅读python中的文本文件时删除重复的字符行?

或者我应该直接从csv文件本身读取文本?该文本仅位于CSV文件的其中一列中。

\itap1\trowd \taflags1 \trgaph108\trleft-108 \trbrdrl\brdrnil \trbrdrr\brdrnil 

\clvertalc \clshdrawnil \clbrdrt\brdrs\brdrw20\brdrcf2 \clbrdrl\brdrs\brdrw20\brdrcf2 \clbrdrb\brdrs\brdrw20\brdrcf2 \clbrdrr\brdrs\brdrw20\brdrcf2 \clpadl100 \clpadr100 \gaph\cellx8640 

\pard\intbl\itap1\pardeftab720 

\cf0 i have been using your product and it has been helping me a lot to solve business problem,\cell \row 



\itap1\trowd \taflags1 \trgaph108\trleft-108 \trbrdrl\brdrnil \trbrdrr\brdrnil 

\clvertalc \clshdrawnil \clbrdrt\brdrs\brdrw20\brdrcf2 \clbrdrl\brdrs\brdrw20\brdrcf2 \clbrdrb\brdrs\brdrw20\brdrcf2 \clbrdrr\brdrs\brdrw20\brdrcf2 \clpadl100 \clpadr100 \gaph\cellx8640 

\pard\intbl\itap1\pardeftab720 

\cf0 I am very happy with your products. Very easy to use.\cell \row 



\itap1\trowd \taflags1 \trgaph108\trleft-108 \trbrdrl\brdrnil \trbrdrr\brdrnil 

\clvertalc \clshdrawnil \clbrdrt\brdrs\brdrw20\brdrcf2 \clbrdrl\brdrs\brdrw20\brdrcf2 \clbrdrb\brdrs\brdrw20\brdrcf2 \clbrdrr\brdrs\brdrw20\brdrcf2 \clpadl100 \clpadr100 \gaph\cellx8640 

\pard\intbl\itap1\pardeftab720 

\cf0 Many improvements with income tracker, and other time saving elements. Newer look, easier navigation. I believe there definitely is a time savings from past versions.\cell \row 

下面是CSV文件的一个片段:

page_url  Review_title Product_id Rating Publish_date Review_Description 
www.blabla.com Great!   777777  5  01/01/14 Excellent upgrade! Was not disappointed! 

我只是复制从Review_Description列文本粘贴他们都在一个文本文件中。

这里是我的Python代码只是读取文件:

text_file=open("my_text.txt", "r") 
lines=text_file.readlines() 
print lines 
+0

是的,它可能会更好跳过的行和列的CSV比到CSV解析成一些其他形式,然后尝试恢复原来的结构,你扔掉,所以你可以跳过它的一部分。你能告诉我们一个CSV的片段和你当前的解析代码吗? – abarnert

+0

已包含csv文件的片段和我简单的读取文件代码。 – jxn

回答

0

你真正的问题在这里似乎是你粘贴的CSV到RTF文件,而不是一个文本文件。粘贴到Windows上的Wordpad或Mac上的TextEdit(尤其是如果您从Excel或Numbers中复制而来)并保存,而不明确告诉它“保存为纯文本”或“转换为纯文本”通常会“帮助”您自动方式。

虽然你可能尝试解析RTF以恢复原​​始文本,但如果可能的话,使用原始文本会更好。用Python解析CSV文件 - 无论是Pandas还是stdlib的模块 - 都非常简单。

例如,您的文件似乎使用制表符作为分隔符,并且没有其他非默认功能。如果是这样的:

import csv 
with open('my_csv.csv', 'rb') as f: 
    reader = csv.DictReader(f, delimiter='\t') 
    reviews = [row['Review_Description'] for row in reader] 

现在你有所有的评论列表,并且可以做你想做与他们任何东西。如果你只是想打印出来,这是更简单:

import csv 
with open('my_csv.csv', 'rb') as f: 
    reader = csv.DictReader(f, delimiter='\t') 
    for row in reader: 
     print row['Review_Description']