python - 试图合并来自不同excel文件的列
问题描述
好的,我正在尝试合并来自不同 Excel 文件的列。例如,一个文件有地址 1、地址 2、城市、州、邮编,另一个有位置地址、城市、州、邮编。我附加了 excel 文件,你可以从下面的代码中看到,我合并了第一组列没有问题。问题是结合第二组列欢迎任何提示。下图是我正在寻找的结果
import os
import pandas as pd
import numpy as np
path = os.getcwd()
files = os.listdir(path)
files_xls = [f for f in files if f[-4:] == 'xlsx']
df = pd.DataFrame()
for f in files_xls:
qw = pd.read_excel(f)
df = df.append(qw)
df = df.replace(np.nan,' ', regex=True)
cf = df.iloc[:, df.columns.str.contains('address1|address2|city|state|zip|Location Address|City|State|ZIP', case=False)]
vf= df['address1'].map(str) + '-' + df['address2'].map(str) + '-' + df['city'].map(str) + '-' + df['state'].map(str) + '-' + df['zip'].map(str),
df['Location Address'].map(str) + '-' + df['City'].map(str) + '-' + df['State'].map(str) + '-' + df['ZIP'].map(str)
export_csv = vf.to_csv('dataframe.csv', index=None, header=True)
解决方案
我在变量中添加了第二部分并创建另一个 DF 并将这两个部分添加到不同的 DF 然后写入 csv 文件
import os
import pandas as pd
import numpy as np
path = os.getcwd()
files = os.listdir(path)
files_xls = [f for f in files if f[-4:] == 'xlsx']
df = pd.DataFrame()
df1 = pd.DataFrame()
for f in files_xls:
qw = pd.read_excel(f)
df = df.append(qw)
df = df.replace(np.nan,' ', regex=True)
cf = df.iloc[:, df.columns.str.contains('address1|address2|city|state|zip|Location_Address|City|State|ZIP', case=False)]
vf = df['address1'].map(str) + '-' + df['address2'].map(str) + '-' + df['city'].map(str) + '-' + df['state'].map(str) + '-' + df['zip'].map(str)
vf1 = df['Location_Address'].map(str) + '-' + df['City'].map(str) + '-' + df['State'].map(str) + '-' + df['ZIP'].map(str)
df1['part1'] = vf
df1['part2'] = vf1
export_csv = df1.to_csv('dataframe.csv', index=None, header=True)
输出
part1,part2
300 DUFFERIN AVE - LL119- -london-OH-N6A 4L9,150 jimmy ave-md- -19977
301 DUFFERIN AVE - LL119- -london-OH-N6A 4L10,151 jimmy ave-md- -19978
302 DUFFERIN AVE - LL119- -london-OH-N6A 4L11,152 jimmy ave-md- -19979
303 DUFFERIN AVE - LL119- -london-OH-N6A 4L12,153 jimmy ave-md- -19980
推荐阅读
- google-sheets - 来自电子表格值的 Google 表单响应验证
- javascript - 在函数执行后/在函数内部再次调用反应钩子(ReactJS)
- android - 在模块 jetified-google-play-services.jar 和 jetified-play-services-base-17.0.0-runtime.jar 中发现重复的类
- javascript - 如何播放随机声音
- linux - 解决我必须删除大小为 0 的文件的 shell 脚本?
- python - Python ValueError: x and y must be the same size and X[:, 0] Y[:] not working to save the problem
- regex - 给出一个匹配这个正则表达式的字符串?
- python - 无法使用python将数据存储在文件中
- node.js - 尝试使用 nodeJS mongodb 模块连接到本地 MongoDB 服务器时出错
- c++ - 使用命令行参数 argv[] 创建同名数据文件