我在excel中有数据,其中最后一列是带有空格的文本。以下是我的数据示例:
| ID | NAME | TEXT |
|---|---|---|
| 125 | Karl Smith | Lives in England (enter space) birth: 12.08.2005 (enter space) His hobby is cycling. |
如果我使用python转换为csv,我的数据如下所示:
ID|名称|文本
125 |卡尔·史密斯|住在英国
出生日期:2005年8月12日
他的爱好是骑自行车。
我需要TEXT列如下:
ID|名称|文本125 |卡尔·史密斯|住在英国 (enter space) 出生日期:2005年8月12日 (enter space) 他的爱好是骑自行车。
这是我的脚本:
import pandas as pd
import os
import numpy as np
WD = r'XXX'
os.chdir(WD)
for file in os.listdir(WD):
if file.endswith('.xlsx'):
FILE = file
sheet_names = pd.ExcelFile(FILE).sheet_names
for sn in sheet_names:
OUTPUT_FILE = '{}_{}'.format(sn,FILE.replace('.xlsx','.csv'))
df = pd.read_excel(FILE,)
print(FILE, sn)
for col in df.columns.to_list():
df[col] = df[col].map({True: '', False: ''}).fillna(df[col])
cn = ['IN', 'NAME', 'TEXT']
df = df.reindex(columns = cn)
df.to_csv(OUTPUT_FILE,sep='|',encoding='utf-8-sig',index=False)
你知道吗?