Я пытаюсь написать все обращения тега в файл csv в Python. Моя строка:Python записывает часть строки в строку csv
<pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@CDIUI</span>(<span class="string"><span class="delimiter">"</span><span class="content">cdievents</span><span class="delimiter">"</span></span>)
<span class="annotation">@Theme</span>(<span class="string"><span class="delimiter">"</span><span class="content">valo</span><span class="delimiter">"</span></span>)
<span class="directive">public</span> <span class="type">class</span> <span class="class">CDIEventUI</span> <span class="directive">extends</span> UI {
<span class="annotation">@Inject</span>
InputPanel inputPanel;
<span class="annotation">@Inject</span>
DisplayPanel displayPanel;
<span class="annotation">@Override</span>
<span class="directive">protected</span> <span class="type">void</span> init(VaadinRequest request) {
Layout content =
<span class="keyword">new</span> HorizontalLayout(inputPanel, displayPanel);
setContent(content);
}
}</code></pre>
Мой питон код для написания хитов в файл CSV является:
hits = soup.find_all("pre", "CodeRay highlight")# "programlisting")
f = open('extractedsuorceTEST2.csv','ab')
writer = csv.writer(f)
writer.writerow(('page', hits[0].text.encode('UTF-8').replace('Â',' ')))
К этому коду хиты [0] является:
'@CDIUI("cdievents")\[email protected]("valo")\npublic class CDIEventUI extends UI {\n @Inject\n InputPanel inputPanel;\n\n @Inject\n DisplayPanel displayPanel;\n\n @Override\n protected void init(VaadinRequest request) {\n Layout content =\n new HorizontalLayout(inputPanel, displayPanel);\n setContent(content);\n }\n}'
Но результат, записанный в файле csv:
@CDIUI(""cdievents"")
@Theme(""valo"")
public class CDIEventUI extends UI {
@Inject
InputPanel inputPanel;
@Inject
DisplayPanel displayPanel;
@Override
protected void init(VaadinRequest request) {
Layout content =
Когда он должен быть:
@CDIUI("cdievents")
@Theme("valo")
public class CDIEventUI extends UI {
@Inject
InputPanel inputPanel;
@Inject
DisplayPanel displayPanel;
@Override
protected void init(VaadinRequest request) {
Layout content =
new HorizontalLayout(inputPanel, displayPanel);
setContent(content);
}
}
Может кто-нибудь предложить решение? Thanks
Что делает 'hits [0] .text.encode ('UTF-8'). Replace ('Â', '')' содержать? – jsfan
hits [0] .text.encode ('UTF-8'). Replace ('Â', ''): \t '@CDIUI ("cdievents") \ n @ Тема ("valo") \ nпубличный класс CDIEventUI расширяет UI {\ n @Inject \ n InputPanel inputPanel; \ n \ n @Inject \ n DisplayPanel displayPanel; \ n \ n @Override \ n защищенный void init (запрос VaadinRequest) {\ n Содержимое макета = \ n новый HorizontalLayout (inputPanel, displayPanel); \ n setContent (content); \ n} \ n} ' – user3707761
Строка здесь завершена, но когда я пишу ее в CSV-файле, используя «writer.writerow», она усекается !!! – user3707761