[英]Add additional column to CSV when converting from excel to csv in Python
我正在嘗試將帶有多張工作表的 excel 工作簿翻譯成多個 CSV。 在此轉換期間,我還想在前面添加一個附加列作為運行日期。 它正在工作,但額外的專欄讓我感到悲傷。 任何提示都會有所幫助。
def translate_xlsx_to_csv(files):
file = files[0]
print(file)
obj = s3.meta.client.get_object(Bucket= BUCKET_NAME, Key= file)
data = obj['Body'].read()
data_xls = pd.read_excel(io.BytesIO(data) , sheet_name=None)
try:
if len(data_xls.keys())==5:
for key, value in data_xls.items():
filename = f"/tmp/{key}.csv"
data_xls[key].to_csv(filename, encoding='utf-8', index=False)
df = pd.read_csv(filename)
run_date = datetime.today().strftime('%Y-%m-%d')
df.insert(0, "run_date", run_date)
df.to_csv(filename, encoding='utf-8', index=False)
except Exception as e:
raise (e)
我相信你可以嘗試這樣的事情:
def translate_xlsx_to_csv(files):
file = files[0]
print(file)
obj = s3.meta.client.get_object(Bucket= BUCKET_NAME, Key= file)
data = obj['Body'].read()
data_xls = pd.read_excel(io.BytesIO(data) , sheet_name=None)
try:
if len(data_xls.keys())==5:
for key, value in data_xls.items():
filename = f"/tmp/{key}.csv"
data_xls[key].to_csv(filename, encoding='utf-8', index=False)
df = pd.read_csv(filename)
run_date = datetime.today().strftime('%Y-%m-%d')
## Changing this:
df["run_date"] = run_date
##
df.to_csv(filename, encoding='utf-8', index=False)
except Exception as e:
raise (e)
這應該創建您正在尋找的附加列。 如果有幫助,請告訴我:D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.