繁体   English   中英

如何使用python从位于同一目录中的多个zip文件夹中读取csv文件?

[英]How to read csv files from multiple zip folders located in the same directory using python?

  • 我有多个名为 zip_folder_1、zip_folder_2、...、zip_folder_n 的 zip 文件夹。
  • 所有这些 zip 文件夹都位于同一目录中。 这些 zip 文件夹中的每一个都包含一个名为“selected_file.csv”的 csv 文件。
  • 我需要读取位于每个 zip 文件夹中的每个“selected_file.csv”并将它们连接成一个文件

有人可以给我一个关于解决这个问题所需的python代码的提示吗? 我感谢您的帮助!

这应该会在您的工作目录中生成concatenated_data.csv ,并假设my_data_dir中的所有文件都是其中包含数据的 zip 文件。

import os, numpy as np, zipfile

def add_data_to_file(new_data,file_name):
    if os.path.isfile(file_name):
        mode = 'ab'
    else:
        mode = 'wb'
    with open(file_name,mode) as f:
            np.savetxt(f,np.array([new_data]),delimiter=',')        

my_data_dir = 'C:/my/zip/data/dir/'
data_files = os.listdir(my_data_dir)
for data_file in data_files:
    full_path = os.path.join(my_data_dir,data_file)
    with zipfile.ZipFile(full_path,'r',zipfile.ZIP_DEFLATED) as zip_file:
        with zip_file.open('selected_file.csv','r') as selected_file:
            data = np.loadtxt(selected_file,delimiter=",")
    add_data_to_file(data,'concatenated_data.csv')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM