亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python合并多個csv文件

系統 2244 0

導入所需的包

            
              
                import
              
               os

              
                import
              
               pandas 
              
                as
              
               pd

              
                import
              
               glob
            
          

合并多個csv文件

            
              csv_list = glob.glob(
              
                '*.csv'
              
              ) 
              
                #查看同文件夾下的csv文件數
              
              
print(
              
                u'共發現%s個CSV文件'
              
              % len(csv_list))
print(
              
                u'正在處理............'
              
              )

              
                for
              
               i 
              
                in
              
               csv_list: 
              
                #循環讀取同文件夾下的csv文件
              
              
    fr = open(i,
              
                'rb'
              
              ).read()
    
              
                with
              
               open(
              
                'result.csv'
              
              ,
              
                'ab'
              
              ) 
              
                as
              
               f: 
              
                #將結果保存為result.csv
              
              
        f.write(fr)
print(
              
                u'合并完畢!'
              
              )
            
          
            
              共發現9個CSV文件
正在處理............
合并完畢!

            
          

去重函數

這個函數將重復的內容去掉,主要是去表頭。

            
              df = pd.read_csv(
              
                "result.csv"
              
              ,header=
              
                0
              
              )
            
          
            
              df.info()
            
          
            
              
                
RangeIndex: 659867 entries, 0 to 659866
Data columns (total 3 columns):
UrbanRuralCode    659867 non-null object
code              659867 non-null object
name              659867 non-null object
dtypes: object(3)
memory usage: 15.1+ MB

              
            
          
            
              IsDuplicated = df.duplicated()
            
          
            
              
                True
              
              
                in
              
               IsDuplicated
            
          
            
              True

            
          

這說明了這個DataFrame格式的數據含有重復項。

DataFrame.drop_duplicates函數的使用

            
              DataFrame.drop_duplicates(subset=
              
                None
              
              , keep=
              
                'first'
              
              , inplace=
              
                False
              
              )
            
          
  • subset : column label or sequence of labels, optional
    用來指定特定的列,默認所有列
  • keep : {‘first’, ‘last’, False}, default ‘first’
    刪除重復項并保留第一次出現的項
  • inplace : boolean, default False
    是直接在原來數據上修改還是保留一個副本
            
              datalist = df.drop_duplicates(keep = 
              
                False
              
              )
            
          
            
              datalist.info()
            
          
            
              
                
Int64Index: 659859 entries, 0 to 659866
Data columns (total 3 columns):
UrbanRuralCode    659859 non-null object
code              659859 non-null object
name              659859 non-null object
dtypes: object(3)
memory usage: 20.1+ MB

              
            
          

排序函數

            
              datalist_sorted = datalist.sort_values(by = [
              
                'code'
              
              ]) 
              
                #按1列進行升序排序
              
            
          

結果寫入csv文件

            
              datalist_sorted.to_csv(
              
                "village_all.csv"
              
              , sep = 
              
                ','
              
              , header = 
              
                True
              
              ,index = 
              
                False
              
              )
            
          

問題

Python讀取文件問題

錯誤信息

            
              
                "UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence"
              
            
          

解決方案

            
              fr = open(i,
              
                'r'
              
              ).read() 改為 fr = open(i,
              
                'rb'
              
              ).read()

              
                with
              
               open(
              
                'result.csv'
              
              ,
              
                'a'
              
              ) 
              
                as
              
               f: 改為 
              
                with
              
               open(
              
                'result.csv'
              
              ,
              
                'ab'
              
              ) 
              
                as
              
               f:
            
          

重復值問題

這里我合并了9個csv文件,檢查最后合并結果發現,里面還有 一個列名 。這是因為9個為文件,其中8個的列名被認為是DataFrame的值,第1個的列名依舊為列名,然后再去重的過程中,8個相同值被保留了1個,所以這會導致最后的csv文件多了 一個列名

解決方案

            
              IsDuplicated = df.duplicated() 改為 IsDuplicated = df.duplicated(keep = 
              
                False
              
              ) 
              
                #重復數據全部去除
              
            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧洲亚洲综合一区二区三区 | 亚洲看黄| 九九九热在线精品免费全部 | 亚洲国产美女精品久久久久 | 日韩精品福利 | 免费看片aⅴ免费大片 | 国产成人免费a在线视频色戒 | 国产成人精品日本亚洲语音2 | 久久精品加勒比中文字幕 | 久久天天躁狠狠躁夜夜中文字幕 | 国产一区二区三区不卡在线观看 | 欧美 亚洲 另类 热图 | 亚洲精品久久久成人 | 99热热久久这里只有精品166 | 最新国产在线 | 91久久精品国产亚洲 | 夜夜艹日日干 | 亚洲这里只有精品 | 欧美在线视频播放 | 91综合网 | 特黄特级毛片免费视 | 亚洲精品成人在线 | 免费观看四虎精品国产永久 | 欧美午夜网站 | 日日噜噜爽爽狠狠视频 | 婷婷涩涩 | 久久99国产精一区二区三区 | 国产精品在线观看 | 日韩欧美亚洲每日更新网 | 手机看片日韩国产 | 亚洲美女激情视频 | 欧美中文字幕在线观看 | 狠狠久久综合 | 五月婷婷伊人 | 成人精品mv视频在线观看 | 手机看片国产福利 | 男女一级毛片免费播放 | 在线观看视频中文字幕 | 农村寡妇一级毛片免费播放 | 黄色成人免费网站 | 中文国产成人精品少久久 |