<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Kenny Programming</title>
    <link>https://javan.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 11 Aug 2026 08:58:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>KennyStory</managingEditor>
    <image>
      <title>Kenny Programming</title>
      <url>https://tistory1.daumcdn.net/tistory/2029547/attach/10bcf8db154147448e9f23e56b99127a</url>
      <link>https://javan.tistory.com</link>
    </image>
    <item>
      <title>Cordova, Phonegap의  InAppBrowser 종료 전 confirm 메시지 적용</title>
      <link>https://javan.tistory.com/5</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;하이브리드 앱 개발 중 InAppBrowser로 띄운 창에서 휴대폰 뒤로가기 물리버튼을 누를시 어플이 바로 종료되는것이 아니라 종료 여부를 한번 확인 후 종료해주고 싶어 방법을 한참 찾다가 해결해서 같은 문제로 방법을 찾아보셨다면 적용해보세요. &lt;br /&gt;&lt;br /&gt;수정해야할&amp;nbsp;파일은&amp;nbsp;&amp;nbsp;InAppBrowserDialog.java의&amp;nbsp;onBackPressed&amp;nbsp;입니다. &lt;br /&gt;&lt;br /&gt;기본적으로 제공되는 파일내용은 아래와 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;prolog&quot; style=&quot;background-color: #2b2b2b; color: #a9b7c6; font-family: '굴림체'; font-size: 9.0pt;&quot;&gt;&lt;code&gt;public void onBackPressed () {
        if (this.inAppBrowser == null) {
            this.dismiss();
        } else {
            // better to go through the in inAppBrowser
            // because it does a clean up
            if (this.inAppBrowser.hardwareBack() &amp;amp;&amp;amp; this.inAppBrowser.canGoBack()) {
                this.inAppBrowser.goBack();
            }  else {
                this.inAppBrowser.closeDialog();
            }
        }
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수정된 파일 내용은 아래와 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저가 history.back()이 가능한 상황이면 기존과 같이 뒤로가기를 지원해주고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;종료되는 상황일시 그냥 종료하는것이 아니라 사용자에게 종료할지 confirm을 받고 종료를 원하면 종료를&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;취소를 원하면 기존창을 유지하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일의 경로는 {Projectname}\platforms\android\app\src\main\java\org\apache\cordova\inappbrowser\InAppBrowserDialog.java&amp;nbsp; 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;prolog&quot; style=&quot;background-color: #2b2b2b; color: #a9b7c6; font-family: '굴림체'; font-size: 9.0pt;&quot;&gt;&lt;code&gt;public void onBackPressed() {
        if (inAppBrowser == null) {
            dismiss();
        }
        else {
            // better to go through the in inAppBrowser
            // because it does a clean up
            if (inAppBrowser.hardwareBack() &amp;amp;&amp;amp; inAppBrowser.canGoBack()) {
                inAppBrowser.goBack();
            }  else {
                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context)
                        .setTitle(&quot;종료 확인&quot;)
                        .setMessage(&quot;종료하시겠습니까?&quot;)
                        .setPositiveButton(&quot;종료&quot;, new DialogInterface.OnClickListener(){
                            public void onClick(DialogInterface dialog, int which) {
                                inAppBrowser.closeDialog();
                            }
                        })
                        .setNegativeButton(&quot;취소&quot;, new DialogInterface.OnClickListener(){
                            public void onClick(DialogInterface dialog,int which){
                                dialog.cancel();
                            }
                        });
                alertDialogBuilder.create();
                alertDialogBuilder.show();
            }
        }
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;java 파일상단에 import도 추가해주세요&lt;/p&gt;
&lt;pre class=&quot;prolog&quot; style=&quot;background-color: #2b2b2b; color: #a9b7c6; font-family: '굴림체'; font-size: 9.0pt;&quot;&gt;&lt;code&gt;import android.content.DialogInterface;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적용된 화면은 이렇습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2250&quot; data-filename=&quot;confirm.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYVgDA/btriAHV4oib/opik6jsxG8xFXOFHTsTqZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYVgDA/btriAHV4oib/opik6jsxG8xFXOFHTsTqZK/img.jpg&quot; data-alt=&quot;종료 confirm&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYVgDA/btriAHV4oib/opik6jsxG8xFXOFHTsTqZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYVgDA%2FbtriAHV4oib%2Fopik6jsxG8xFXOFHTsTqZK%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2250&quot; data-filename=&quot;confirm.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;종료 confirm&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Cordova, Phonegap</category>
      <category>confirm</category>
      <category>cordova</category>
      <category>EXIT</category>
      <category>inappbrowser</category>
      <category>phonegap</category>
      <author>KennyStory</author>
      <guid isPermaLink="true">https://javan.tistory.com/5</guid>
      <comments>https://javan.tistory.com/5#entry5comment</comments>
      <pubDate>Fri, 22 Oct 2021 16:55:16 +0900</pubDate>
    </item>
    <item>
      <title>Summernote 버그가 수정되었네요 0.8.12 19/5/16일 기준</title>
      <link>https://javan.tistory.com/4</link>
      <description>&lt;p&gt;기존의 버전에서 버그가 있었는데요&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;&lt;p&gt;$('#summernote').summernote('pasteHTML', '&amp;lt;p&amp;gt;aaa&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;bbb&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;ccc&amp;lt;/p&amp;gt;');&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 코딩을 작성하면&amp;nbsp;&lt;/p&gt;&lt;p&gt;예상하기론&lt;/p&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;bbb&lt;/p&gt;&lt;p&gt;ccc&amp;nbsp;&lt;/p&gt;&lt;p&gt;를 기대하게 되는데&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;실제로는&amp;nbsp;&lt;/p&gt;&lt;p&gt;ccc&lt;/p&gt;&lt;p&gt;bbb&lt;/p&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;이렇게 나오는 버그가 있었는데&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;0.8.11 버전의 pasteHtml 입니다&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;WrappedRange.prototype.pasteHTML = &lt;span style=&quot;color:#cc7832;&quot;&gt;function &lt;/span&gt;(markup) {&lt;br /&gt;   &lt;span style=&quot;color:#cc7832;&quot;&gt;var &lt;/span&gt;contentsContainer = $$1(&lt;span style=&quot;color:#6a8759;&quot;&gt;'&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;'&lt;/span&gt;).html(markup)[&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;];&lt;br /&gt;   &lt;span style=&quot;color:#cc7832;&quot;&gt;var &lt;/span&gt;childNodes = lists.from(contentsContainer.childNodes);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;var &lt;/span&gt;rng = &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.wrapBodyInlineWithPara().deleteContents();&lt;br /&gt;  &lt;span style=&quot;background-color: rgb(102, 232, 255); color: rgb(0, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(102, 232, 255);&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;background-color: rgb(102, 232, 255); color: rgb(0, 0, 0);&quot;&gt;(rng.so &amp;gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(102, 232, 255);&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;background-color: rgb(102, 232, 255); color: rgb(0, 0, 0);&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;       childNodes = childNodes.reverse();&lt;br /&gt;   }&lt;br /&gt;   childNodes = childNodes.map(&lt;span style=&quot;color:#cc7832;&quot;&gt;function &lt;/span&gt;(childNode) {&lt;br /&gt;       &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;rng.insertNode(childNode);&lt;br /&gt;   });&lt;br /&gt;   &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(rng.so &amp;gt; &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;) {&lt;br /&gt;       childNodes = childNodes.reverse();&lt;br /&gt;   }&lt;br /&gt;   &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;childNodes;&lt;br /&gt;   };&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;0.8.12 버전의 pasteHtml 입니다&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;WrappedRange.prototype.pasteHTML = &lt;span style=&quot;color:#cc7832;&quot;&gt;function &lt;/span&gt;(markup) {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;var &lt;/span&gt;contentsContainer = $$1(&lt;span style=&quot;color:#6a8759;&quot;&gt;'&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;'&lt;/span&gt;).html(markup)[&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;];&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;var &lt;/span&gt;childNodes = lists.from(contentsContainer.childNodes);&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;var &lt;/span&gt;rng = &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.wrapBodyInlineWithPara().deleteContents();&lt;br /&gt;    &lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(102, 232, 255);&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;background-color: rgb(102, 232, 255); color: rgb(0, 0, 0);&quot;&gt;(rng.so &amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(102, 232, 255);&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;background-color: rgb(102, 232, 255); color: rgb(0, 0, 0);&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;        childNodes = childNodes.reverse();&lt;br /&gt;    }&lt;br /&gt;    childNodes = childNodes.map(&lt;span style=&quot;color:#cc7832;&quot;&gt;function &lt;/span&gt;(childNode) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;rng.insertNode(childNode);&lt;br /&gt;    });&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;if &lt;/span&gt;(rng.so &amp;gt; &lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;) {&lt;br /&gt;        childNodes = childNodes.reverse();&lt;br /&gt;    }&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;childNodes;&lt;br /&gt;};&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;하늘색 음영부분이 수정되었는데요&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;if(rng.so &amp;gt;= 0) {&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;이 부분이&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;if(rng.so &amp;gt;&amp;nbsp;0) {&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;이렇게 바뀌었네요&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;해당부분을 위와 같이 수정해서 사용하고 있었는데&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;패치되어 새버전이 배포되었네요&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;과거버전 쓰시던 분이나 해당버그로 고생하시는 분들은 새로 받아 적용시켜보시면 이쁘게 나올겁니다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 pasteHtml은 기존 에디터작업에 append를 해주는데 pasteHtml하는 내용으로 replace를 해주고싶다 하면&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt; $('#summernote').summernote('code', '');&lt;br /&gt; $('#summernote').summernote('pasteHTML', '&amp;lt;p&amp;gt;aaa&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;bbb&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;ccc&amp;lt;/p&amp;gt;');&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이런식으로 추가해주면 초기화시킨후 새로 HTML을 넣어줄 수 있습니다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Summernote</category>
      <category>pasteHtml</category>
      <category>버그</category>
      <category>초기화</category>
      <category>패치</category>
      <author>KennyStory</author>
      <guid isPermaLink="true">https://javan.tistory.com/4</guid>
      <comments>https://javan.tistory.com/4#entry4comment</comments>
      <pubDate>Thu, 30 May 2019 17:50:50 +0900</pubDate>
    </item>
    <item>
      <title>python pandas로 중복된 데이터 제거하기</title>
      <link>https://javan.tistory.com/3</link>
      <description>&lt;p style=&quot;text-align: center;&quot;&gt;데이터 수집 혹은 연동을 할 때 중복된 데이터 없이 유일한 값만 갖고싶다면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;아래를 봐주세요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;우선 아래와 같이 샘플데이터를 만들어 줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;pandas &lt;span style=&quot;color:#cc7832;&quot;&gt;as &lt;/span&gt;pd&lt;br /&gt;&lt;br /&gt;df = pd.DataFrame(&lt;span style=&quot;color:#aa4926;&quot;&gt;columns&lt;/span&gt;=[&lt;span style=&quot;color:#6a8759;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'desc'&lt;/span&gt;])&lt;br /&gt;&lt;br /&gt;df.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;sbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;aaa&quot;&lt;/span&gt;]&lt;br /&gt;df.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;kbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;bbb&quot;&lt;/span&gt;]&lt;br /&gt;df.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;mbc&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;ccc&quot;&lt;/span&gt;]&lt;br /&gt;df.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;ebs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;ddd&quot;&lt;/span&gt;]&lt;br /&gt;df.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;4&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;kbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;eee&quot;&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;index&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;df.iterrows():&lt;br /&gt;    &lt;span style=&quot;color:#8888c6;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;id=%s, desc=%s&quot; &lt;/span&gt;%(row.id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row.desc))&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;출력을 해볼까요?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: 굴림체; font-size: 9pt;&quot;&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; white-space: normal; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 216, 216);&quot;&gt;id=sbs, desc=aaa&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; white-space: normal; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 216, 216);&quot;&gt;id=kbs, desc=bbb&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; white-space: normal; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 216, 216);&quot;&gt;id=mbc, desc=ccc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; white-space: normal; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 216, 216);&quot;&gt;id=ebs, desc=ddd&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; white-space: normal; text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; white-space: normal; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 216, 216);&quot;&gt;id=kbs, desc=eee&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;id가 동일한게 'kbs'가 있군요 desc는 다르지만요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;id로 중복제거를 해볼까요?&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;df2 = df.drop_duplicates(&lt;span style=&quot;color:#6a8759;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#aa4926;&quot;&gt;keep&lt;/span&gt;=&lt;span style=&quot;color:#6a8759;&quot;&gt;'first'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;index&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;df2.iterrows():&lt;br /&gt;    &lt;span style=&quot;color:#8888c6;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;id=%s, desc=%s&quot; &lt;/span&gt;% (row.id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row.desc))&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;drop_duplicates(중복제거할 기준컬럼, keep='first' or 'last')&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;keep은 first면 처음걸 두고 나머지를 제거할테고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;last라면 반대로 마지막을 두고 그이전 중복데이터를 제거하겠죠&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;위의 출력결과를 보면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43);&quot;&gt;&lt;font color=&quot;#a9b7c6&quot; face=&quot;굴림체&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(255, 216, 216); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;id=sbs, desc=aaa
id=kbs, desc=bbb
id=mbc, desc=ccc
id=ebs, desc=ddd&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;마지막 데이터인 kbs의 desc가 eee인 row가 제거되었네요&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;잘됩니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이번에는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;df3 = df.drop_duplicates(&lt;span style=&quot;color:#6a8759;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#aa4926;&quot;&gt;keep&lt;/span&gt;=&lt;span style=&quot;color:#6a8759;&quot;&gt;'last'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;index&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;df3.iterrows():&lt;br /&gt;    &lt;span style=&quot;color:#8888c6;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;id=%s, desc=%s&quot; &lt;/span&gt;% (row.id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row.desc))&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;마지막을 남기도록 옵션을 주고 중복제거를 해봅니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;결과는 역시&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43);&quot;&gt;&lt;font color=&quot;#a9b7c6&quot; face=&quot;굴림체&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(255, 216, 216);&quot;&gt;id=sbs, desc=aaa
id=mbc, desc=ccc
id=ebs, desc=ddd
id=kbs, desc=eee&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;네 잘되네요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이번에는 컬럼을 하나 추가해서 샘플 데이터를 만들어 볼게요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;df4 = pd.DataFrame(&lt;span style=&quot;color:#aa4926;&quot;&gt;columns&lt;/span&gt;=[&lt;span style=&quot;color:#6a8759;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'desc'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'num'&lt;/span&gt;])&lt;br /&gt;&lt;br /&gt;df4.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;sbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;aaa&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;]&lt;br /&gt;df4.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;kbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;bbb&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;]&lt;br /&gt;df4.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;2&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;mbc&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;ccc&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;/span&gt;]&lt;br /&gt;df4.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;3&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;ebs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;ddd&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3&quot;&lt;/span&gt;]&lt;br /&gt;df4.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;4&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;kbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;eee&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;2&quot;&lt;/span&gt;]&lt;br /&gt;df4.loc[&lt;span style=&quot;color:#6897bb;&quot;&gt;5&lt;/span&gt;] = [&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;kbs&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;bbb&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;2&quot;&lt;/span&gt;]&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이렇게 num라는 컬럼을 하나 추가해주고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); font-family: 굴림체; font-size: 9pt;&quot;&gt;df5 = df4.drop_duplicates([&lt;span style=&quot;color:#6a8759;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'desc'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'num'&lt;/span&gt;]&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#aa4926;&quot;&gt;keep&lt;/span&gt;=&lt;span style=&quot;color:#6a8759;&quot;&gt;'last'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;index&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;df5.iterrows():&lt;br /&gt;    print(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;id=%s, desc=%s&quot; &lt;/span&gt;% (row.id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row.desc))&lt;/pre&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복제거를 해볼까요?&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43);&quot;&gt;&lt;font color=&quot;#a9b7c6&quot; face=&quot;굴림체&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(255, 216, 216);&quot;&gt;id=sbs, desc=aaa
id=kbs, desc=bbb
id=mbc, desc=ccc
id=ebs, desc=ddd
id=kbs, desc=eee
id=kbs, desc=bbb&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복이 없으니 중복제거가 안되네요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복제거 기준에서 num을 빼준다면 &quot;kbs&quot;와 &quot;bbb&quot;가 중복되어 row를 제거할수 있겠네요&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;df5 = df4.drop_duplicates([&lt;span style=&quot;color:#6a8759;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'desc'&lt;/span&gt;]&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#aa4926;&quot;&gt;keep&lt;/span&gt;=&lt;span style=&quot;color:#6a8759;&quot;&gt;'last'&lt;/span&gt;)&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;index&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;df5.iterrows():&lt;br /&gt;    &lt;span style=&quot;color:#8888c6;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;id=%s, desc=%s, num=%s&quot; &lt;/span&gt;% (row.id&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row.desc&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;row.num))&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;위와 같이 id와 desc를 중복 기준으로 주고 keep 라스트를 남긴다 자 결과는&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43);&quot;&gt;&lt;font color=&quot;#a9b7c6&quot; face=&quot;굴림체&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(255, 216, 216);&quot;&gt;id=sbs, desc=aaa, num=1
id=mbc, desc=ccc, num=1
id=ebs, desc=ddd, num=3
id=kbs, desc=eee, num=2
id=kbs, desc=bbb, num=2&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복제거 잘 되고 데이터도 마지막게 잘 남았네요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;아래행 데이터가 아닌 전의 데이터를 유지하고 싶으면 어떻게 하면될까요?&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;keep 옵션만 first로 주면 되겠죠?&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복제거는 참 유용한거 같습니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;id기준 1000건 연동해야 한다면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복제거 후 800건이 되면 200건은 연동하지 않아도 될테니까요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이상으로 pandas로 중복제거하는 방법이었습니다.&lt;br /&gt;&lt;/p&gt;</description>
      <category>Python</category>
      <author>KennyStory</author>
      <guid isPermaLink="true">https://javan.tistory.com/3</guid>
      <comments>https://javan.tistory.com/3#entry3comment</comments>
      <pubDate>Fri, 15 Mar 2019 14:31:00 +0900</pubDate>
    </item>
    <item>
      <title>python pandas 이용해서 xml정보 파싱 후 csv 엑셀로 저장하기[2]</title>
      <link>https://javan.tistory.com/2</link>
      <description>&lt;p&gt;1편에서 pandas를 이용해 xml정보를 csv엑셀로 저장하는것을 해보았다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러다 특정 정보에서 charge라는 요금항목을 누락해서 xml return해주는 경우가 발생해서&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;오류가 났다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;☆ 정상 xml 리턴&lt;/p&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;item&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;collapsible-content&quot; style=&quot;margin-left: 1em; font-family: monospace;&quot;&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;arrPlaceNm&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;전주&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/arrPlaceNm&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;arrPlandTime&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;201707011100&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/arrPlandTime&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot; style=&quot;color: rgb(0, 85, 255);&quot;&gt;&amp;lt;charge&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot; style=&quot;color: rgb(0, 85, 255);&quot;&gt;20500&lt;/span&gt;&lt;span class=&quot;html-tag&quot; style=&quot;color: rgb(0, 85, 255);&quot;&gt;&amp;lt;/charge&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;depPlaceNm&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;상봉&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/depPlaceNm&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;depPlandTime&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;201707010800&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/depPlandTime&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;gradeNm&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;우등&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/gradeNm&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;routeId&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;NAEK040602&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/routeId&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/item&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;☆ &lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;누락된 xml 리턴&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;item&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;collapsible-content&quot; style=&quot;margin-left: 1em;&quot;&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;arrPlaceNm&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;안동&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/arrPlaceNm&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;arrPlandTime&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;201707011000&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/arrPlandTime&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;depPlaceNm&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;서울경부&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/depPlaceNm&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;depPlandTime&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;201707010720&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/depPlandTime&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;gradeNm&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;우등&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/gradeNm&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;routeId&amp;gt;&lt;/span&gt;&lt;span class=&quot;text&quot;&gt;NAEK010840&lt;/span&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/routeId&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line&quot;&gt;&lt;span class=&quot;html-tag&quot;&gt;&amp;lt;/item&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;df.loc[i] = [item.arrplacenm.text, item.arrplandtime.text, item.charge.text, item.depplacenm.text,
AttributeError: 'NoneType' object has no attribute 'text'

Process finished with exit code 1
&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;조건을 주어 에러를 방지해야하겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기존의 코드는 이러했다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;item &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;items.findAll(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;item&quot;&lt;/span&gt;):&lt;br /&gt;&lt;br /&gt;    df.loc[i] = [item.arrplacenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.arrplandtime.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.charge.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.depplacenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                 &lt;/span&gt;item.depplandtime.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.gradenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.routeid.text]&lt;br /&gt;&lt;br /&gt;    i=i+&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;에러방지를 위해 아래와 같이 추가해 주었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;charge = &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;&quot;-&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;item &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;items.findAll(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;item&quot;&lt;/span&gt;):&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;(item.charge != &lt;/span&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;        charge = item.charge.text&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;        charge = &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;&quot;-&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;df.loc[i] = [item.arrplacenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.arrplandtime.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(229, 216, 92);&quot;&gt;charge&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.depplacenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                 &lt;/span&gt;item.depplandtime.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.gradenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.routeid.text]&lt;br /&gt;&lt;br /&gt;    i=i+&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;item에 charge가 있을때만 가져오고 없을때는 -로 저장되도록 수정하고 정상적으로 작동되었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다른값들도 혹시나 하는 오류를 방지를 위해서 위와같이 변경해줘도 좋을것 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Python</category>
      <category>CSV</category>
      <category>pandas</category>
      <category>Python</category>
      <category>xml</category>
      <category>엑셀</category>
      <category>파싱</category>
      <author>KennyStory</author>
      <guid isPermaLink="true">https://javan.tistory.com/2</guid>
      <comments>https://javan.tistory.com/2#entry2comment</comments>
      <pubDate>Tue, 12 Feb 2019 11:19:48 +0900</pubDate>
    </item>
    <item>
      <title>python pandas 이용해서 xml정보 파싱 후 csv 엑셀로 저장하기[1]</title>
      <link>https://javan.tistory.com/1</link>
      <description>&lt;pre&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color:#808080;&quot;&gt;# -*- coding: utf-8 -*-&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;os&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;from &lt;/span&gt;bs4 &lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;BeautifulSoup&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;from &lt;/span&gt;urllib.request &lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;urlopen&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;pandas &lt;span style=&quot;color:#cc7832;&quot;&gt;as &lt;/span&gt;pd&lt;br /&gt;&lt;br /&gt;output_path = &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;output&quot;&lt;br /&gt;&lt;/span&gt;output_file = &lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;고속_test.csv&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;if not &lt;/span&gt;os.path.exists(output_path):&lt;br /&gt;    os.makedirs(output_path)&lt;br /&gt;&lt;br /&gt;df = pd.DataFrame(&lt;span style=&quot;color:#aa4926;&quot;&gt;columns&lt;/span&gt;=[&lt;span style=&quot;color:#6a8759;&quot;&gt;'arrPlaceNm'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'arrPlandTime'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'charge'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'depPlaceNm'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'depPlandTime'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'gradeNm'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;'routeId'&lt;/span&gt;]) &lt;span style=&quot;color:#808080;&quot;&gt;# 엑셀 헤더정보&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;i=&lt;span style=&quot;color:#6897bb;&quot;&gt;0&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;url = 'xml정보 주소'&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;data = urlopen(url).read()&lt;br /&gt;soup = BeautifulSoup(data&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;html.parser&quot;&lt;/span&gt;)&lt;br /&gt;items = soup.find(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;items&quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;for &lt;/span&gt;item &lt;span style=&quot;color:#cc7832;&quot;&gt;in &lt;/span&gt;items.findAll(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;item&quot;&lt;/span&gt;):&lt;br /&gt;&lt;br /&gt;    df.loc[i] = [item.arrplacenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.arrplandtime.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.charge.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.depplacenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                 &lt;/span&gt;item.depplandtime.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.gradenm.text&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;item.routeid.text]&lt;br /&gt;&lt;br /&gt;    i=i+&lt;span style=&quot;color:#6897bb;&quot;&gt;1&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;df.to_csv(os.path.join(output_path&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;output_file)&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#aa4926;&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color:#6a8759;&quot;&gt;'euc-kr'&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#aa4926;&quot;&gt;index&lt;/span&gt;=&lt;span style=&quot;color:#cc7832;&quot;&gt;False&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;위와 같이 pandas를 이용해 어렵지 않게 csv로 원하는 정보를 얻을수 있었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;하지만 여기에서 문제가 발생했다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994E5B4E5C61223E0D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994E5B4E5C61223E0D&quot; width=&quot;900&quot; height=&quot;650&quot; filename=&quot;그림1.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위와같이 YYYYMMDDHHmm의 데이터를 지수형으로 표시해주고있다.&lt;/p&gt;&lt;p&gt;Ctrl + C로 복사후 메모장 같은 곳에 붙여 넣어도 지수형으로 붙여 넣어진다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 문제가 생긴 2개의 정보에&amp;nbsp;아래와 같이 코드를 추가해 주었다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;&quot;&gt;df[&lt;span style=&quot;color:#6a8759;&quot;&gt;'arrPlandTime'&lt;/span&gt;] = &lt;span style=&quot;color:#6a8759;&quot;&gt;'=&quot;' &lt;/span&gt;+ df[&lt;span style=&quot;color:#6a8759;&quot;&gt;'arrPlandTime'&lt;/span&gt;] + &lt;span style=&quot;color:#6a8759;&quot;&gt;'&quot;'&lt;br /&gt;&lt;/span&gt;df[&lt;span style=&quot;color:#6a8759;&quot;&gt;'depPlandTime'&lt;/span&gt;] = &lt;span style=&quot;color:#6a8759;&quot;&gt;'=&quot;' &lt;/span&gt;+ df[&lt;span style=&quot;color:#6a8759;&quot;&gt;'depPlandTime'&lt;/span&gt;] + &lt;span style=&quot;color:#6a8759;&quot;&gt;'&quot;'&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;이제 다시 엑셀을 확인해보자&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995AC0495C61243A02&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995AC0495C61243A02&quot; width=&quot;900&quot; height=&quot;489&quot; filename=&quot;그림2.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;엑셀에도 이쁘게 잘 나오고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;복사 후 메모장 등에 붙여넣어도 정확하게 표시된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Python</category>
      <category>CSV</category>
      <category>pandas</category>
      <category>Python</category>
      <category>xml</category>
      <category>엑셀</category>
      <category>지수형</category>
      <category>파싱</category>
      <author>KennyStory</author>
      <guid isPermaLink="true">https://javan.tistory.com/1</guid>
      <comments>https://javan.tistory.com/1#entry1comment</comments>
      <pubDate>Mon, 11 Feb 2019 16:12:39 +0900</pubDate>
    </item>
  </channel>
</rss>