我正在阅读从CSV文件复制的文本文件。当我在python中读取文件时,我得到了大量不必要的重复行,如下所示。如何删除这三个不需要的行,包括每个文本开头和结尾的\ cf0和\ cell \ row?
或者我应该直接从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 :(得分:0)
这里的真正问题似乎是您将CSV粘贴到RTF文件中,而不是文本文件中。粘贴到Windows上的Wordpad或Mac上的TextEdit(特别是如果您从Excel或Numbers复制)并保存它而不明确告诉它“另存为纯文本”或“转换为纯文本”通常会“帮助”您方式自动。
虽然可以尝试解析RTF以恢复原始文本,但如果可能的话,最好只使用原始文本。使用Pandas或使用stdlib的csv
模块解析Python中的CSV文件非常简单。
例如,您的文件似乎使用制表符作为分隔符,而没有其他非默认功能。如果是这样的话:
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']