Reputation: 1071
I am exporting 2 dataframes as csv, like these ones could be:
data1 = {'isin':['isin1','isin2','isin3'],'ticker_QF':['ticker1','ticker3','ticker3']}
df_QF = pd.DataFrame(data1)
data2 = {'isin':['isin1','isin1','isin2','isin3'],'ticker_BBG':['ticker1','ticker3','ticker4','ticker5']}
df_BBG = pd.DataFrame(data2)
If I want to create a zip foldier with both csv on it, how can I do it? Thanks in advance
Upvotes: 4
Views: 2580
Reputation: 46759
You can use Python's zipfile
library to help with this as follows:
import pandas as pd
import zipfile
data1 = {'isin':['isin1','isin2','isin3'],'ticker_QF':['ticker1','ticker3','ticker3']}
data2 = {'isin':['isin1','isin1','isin2','isin3'],'ticker_BBG':['ticker1','ticker3','ticker4','ticker5']}
with zipfile.ZipFile('my_csvs.zip', 'w') as csv_zip:
csv_zip.writestr("data1.csv", pd.DataFrame(data1).to_csv())
csv_zip.writestr("data2.csv", pd.DataFrame(data2).to_csv())
This would result in one zip file called my_csvs.zip
containing two CSV files. Also, the CSV file are created directly inside the ZIP file and no additional files are created.
Tested in Python 3.7.3
Upvotes: 6