【问题标题】:How to concat multiple csv files into 1 file如何将多个csv文件合并为1个文件
【发布时间】:2019-07-03 07:39:15
【问题描述】:

我正在尝试使用 python3 将多个 csv 文件合并为 1 个文件。我怎样才能做到这一点。同一文件夹中的所有 csv 文件。当我使用 glob 时,它给了我一个错误。

import glob
import csv

newfile = glob.glob('C:\Users\perera\Desktop\Machine Learning\RYU\data\dataset_1\*.csv')

错误是

(unicode 错误)“unicodeescape”编解码器无法解码位置 2-3 中的字节:截断 \UXXXXXXXX 转义

这里有什么问题

【问题讨论】:

  • 在 Linux 上:$ cat *.csv > combined.csv。 windows上一定有类似的东西...
  • 添加原始字符串 --> r'C:\Users\perera\Desktop\Machine Learning\RYU\data\dataset_1\*.csv'
  • ...或使用 / 作为目录分隔符(虽然原始字符串可能更好)

标签: python csv concatenation


【解决方案1】:

string literal 中的\U 被解释为转义序列。使用原始文字以避免解析转义序列。

newfile = glob.glob(r'C:\Users\perera\Desktop\Machine Learning\RYU\data\dataset_1\*.csv')

【讨论】:

    【解决方案2】:
    import pandas as pd;
    import os;
    
    frame = pd.DataFrame()
    df = pd.concat([pd.read_csv(f'dir/{f}') for f in os.listdir('dir') 
    if f.endswith('.csv')])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多