【发布时间】:2021-11-24 12:02:22
【问题描述】:
我在同一个文件夹中有数千个 csv 文件名称,如下所示 file_x_x.csv 其中 x 是 1 到 10000 之间的数字。 每个文件包含一个标题和一行数据:
file_1_1.csv
Name Surname Age Address
Michael O'Donnel 22 George St.
file_2_2.csv
Name Surname Age Address
Mary Jane 34 Camden St.
等等。
我正在寻找创建一个包含所有这些行的文件:
final_file.csv
Name Surname Age Address
Michael O'Donnel 22 George St.
Mary Jane 34 Camden St.
...
我的做法:
import pandas as pd
import glob
path = # add path
all_files = glob.glob(path + ".csv") # look for all the csv files in that folder. Probably this is not the right code for looking at them
file_list = []
for filename in all_files:
df = pd.read_csv(filename)
file_list(df)
我不知道最后如何创建一个唯一的文件。你能看看上面的代码并告诉我如何获得所需的输出以及我是否遗漏了什么?
【问题讨论】:
-
您所描述的实际上并不是一个 csv 文件。 CSV 表示“逗号分隔值”,它们应该用
,而不是空格分隔,因此 pandas 不会正确读取这些值。 -
@ThomasQ - CSV 有几种约定 - 逗号、制表符、竖线、空格、分号。 pandas 允许您设置分隔符。如何处理应该转义的单元格内部空间可能存在问题,但通常它可以工作。
-
@tdelaney 我知道有很多约定,但即使使用
sep=" ",pandas 也不会正确加载示例中的 csv,因为地址是George St.和Camden St.跨度> -
@ThomasQ - 对。 CSV 是几种类似格式的术语,这些示例不符合其中任何一种格式。最好不要尝试解析它们,如果可以就复制。