【发布时间】:2019-05-26 20:07:53
【问题描述】:
我有数百个 csv 文件,每个文件对应一种独特的化学品。所有 csv 文件都具有相同的格式(3 列和每种化学品的列中的值)。
我想通过逐行连接将所有这些文件组合成一个 pandas 数据帧,但在最终数据帧中没有每个 csv 文件的标题列。我正在使用以下 Python 代码,但从 pd.read_csv 部分收到错误 -
“EmptyDataError:没有要从文件中解析的列”
代码如下。
files_path=r"C:\Users\Desktop\Python\RWE_350files_merge\Drugs"
csvfiles=glob.glob(os.path.join(files_path, "*.csv"))
master_df = []
for file in csvfiles:
df = pd.read_csv(file, header = 0)
master_df.append(df)
result = pd.concat(master_df, ignore_index=True)
我知道 csv 文件不是“空的”,因为我可以从命令行成功地连接它们 - 但是,这种方法会将每个 csv 文件的标题列保留到最终的“连接”数据帧中 - 所以这不是真的可以接受.
我该如何解决这个问题?
【问题讨论】:
-
你有没有尝试过解决这个问题?
-
我同意@Hackaholic。这是“你能帮我吗”,还是“你能为我做这件事”吗?如果您根本不知道...尝试将 one csv 文件加载到 pandas,然后使用此 pandas.pydata.org/pandas-docs/stable/reference/api/…,然后在其周围编写一些循环和 fors 和咯咯笑,然后存储生成的 DataFrame 使用 pandas 返回到 csv。
-
只需读取所有 csv 文件并将数据帧存储在列表
df_list中,然后您就可以执行df = pd.concat(df_list)(假设您确实到处都有相同的列)。 -
向我们展示您当前正在处理的代码。
-
用我正在处理/使用的代码更新问题(不成功)。
标签: python-3.x pandas