我尝试从一系列文件夹中读取Excel文件,其中每个文件夹都包含大量(数百个) Excel文件。这就是我一直在做的过程:
import numpy as np
import os
import glob
def read_files(path):
df2 = pd.DataFrame()
data = pd.DataFrame()
for each in os.listdir(path):
sub_path = path+"/"+each
files = glob.glob(os.path.join(sub_path, "*.xlsx"))
for f in files:
df = pd.read_excel(f)
data = data.append(df)
df2 = df2.append(data)
return df2
df = read_files("...my_path")但是,它将从excel文件读取的数据中的换行符转换为_x000D_。例如,如果特定的单元格值是:
abcde它变成:
abcde_x000D_如何消除这种情况,并在读取步骤中实际删除换行符,这样它就不会生成_x000D_
发布于 2022-03-22 15:16:48
基于this related question,Excel似乎使用\n chr(10)作为换行符,但是您的文件中有\r\n chr(13)chr(10)。避免这种情况的一种方法是执行替换操作。每次您看到\r\n时,都用\n替换它。在发送到pandas之前,我在缓冲区中修改文件。
import numpy as np
import os
import glob
def read_files(path):
df2 = pd.DataFrame()
data = pd.DataFrame()
for each in os.listdir(path):
sub_path = path+"/"+each
files = glob.glob(os.path.join(sub_path, "*.xlsx"))
for f in files:
with open(f, 'rb') as fp:
text = fp.read().replace(b'\r\n', b'\n')
df = pd.read_excel(text)
data = data.append(df)
df2 = df2.append(data)
return df2
df = read_files("...my_path")https://stackoverflow.com/questions/71574319
复制相似问题