使用脚本将xlsx表格数据进行拼接,将下图格式
转换为这种格式
这个意思?
import pandas as pd
def get_df(series, *col_name):
series = series[1].tolist()
d = pd.DataFrame()
for j in range(3, 6):
dict_data = {}
tt = series[j]
if tt:
t =[col_name[j]+ i for i in tt.split(',')]
len_ = len(t)
dict_data['编码'] = [col_name[j]] * len_
dict_data['号段'] = t
dict_data['省份'] = [series[0] ]* len_
dict_data['城市'] = [series[1]] * len_
dict_data['运营商'] = ['中国广电'] * len_
dt = pd.DataFrame(data = dict_data)
d = pd.concat([d, dt], axis = 0)
return d
data = {'省份': ['安徽'] * 10,
'城市': ['滁州', '合肥', '蚌埠', '芜湖', '淮南', '马鞍山', '安庆', '宿州', '阜阳', '亳州'],
'城市区号': list(range(550, 559)) + [558],
'1920': ['550,640,650', '551,560,565,569,644,651', '552, 642,652', '553,643,653', '554', '555,655,645', '556,646,656', '557,647,657', '558,568,641,648,658,659,649', '567'],
'1921': ['550,640', '551,560,565,641', '552', '553,643', '554,569', '555', '556,646', '557,647', '648', '558,567,642,645'],
'1922': ['', '350,401', '', '', '', '', '', '', '354,403', ''],
}
df = pd.DataFrame(data)
print(df)
df_res = pd.DataFrame()
for dft in df.iterrows() :
res = get_df(dft, *tuple(df.columns))
res = res.reset_index(drop = True)
df_res = pd.concat([df_res,res],axis=0)
df_res = df_res.reset_index(drop = True)
print(df_res)
结果
放到数据库里面 使用explore炸裂开 之后拼接
引用 皆我百晓生 小程序回复内容作答:
使用Python脚本可以很方便地将XLSX表格数据进行拼接。以下是使用Python的openpyxl库来实现的示例代码:
import openpyxl
# 读取第一个表格的数据
wb1 = openpyxl.load_workbook('表格1.xlsx')
sheet1 = wb1.active
data1 = []
for row in sheet1.iter_rows(values_only=True):
data1.append(row)
# 读取第二个表格的数据
wb2 = openpyxl.load_workbook('表格2.xlsx')
sheet2 = wb2.active
data2 = []
for row in sheet2.iter_rows(values_only=True):
data2.append(row)
# 拼接数据
merged_data = data1 + data2
# 创建新的表格并写入数据
wb3 = openpyxl.Workbook()
sheet3 = wb3.active
for row in merged_data:
sheet3.append(row)
# 保存结果
wb3.save('拼接后的表格.xlsx')
对于JavaScript,可以使用xlsx库来读取和写入XLSX数据。以下是使用该库的示例代码:
const XLSX = require('xlsx');
// 读取第一个表格的数据
const workbook1 = XLSX.readFile('表格1.xlsx');
const worksheet1 = workbook1.Sheets[workbook1.SheetNames[0]];
const data1 = XLSX.utils.sheet_to_json(worksheet1, { header: 1 });
// 读取第二个表格的数据
const workbook2 = XLSX.readFile('表格2.xlsx');
const worksheet2 = workbook2.Sheets[workbook2.SheetNames[0]];
const data2 = XLSX.utils.sheet_to_json(worksheet2, { header: 1 });
// 拼接数据
const mergedData = data1.concat(data2);
// 创建新的表格
const workbook3 = XLSX.utils.book_new();
const worksheet3 = XLSX.utils.aoa_to_sheet(mergedData);
XLSX.utils.book_append_sheet(workbook3, worksheet3, 'Sheet1');
// 保存结果
XLSX.writeFile(workbook3, '拼接后的表格.xlsx');
以上代码示例可以将两个XLSX表格数据进行拼接,并保存为新的表格文件。请确认已安装相关库(如openpyxl,xlsx)并将文件路径修改为相应的表格文件路径。
可以用ETL工具试试
【以下回答由 GPT 生成】
我可以通过使用Python中的pandas库来实现将xlsx表格数据进行拼接的操作。下面是具体的解决方案:
pip install pandas
import pandas as pd
read_excel
函数加载两个表格数据,并将它们存储在两个pandas的DataFrame对象中:df1 = pd.read_excel('表格1.xlsx')
df2 = pd.read_excel('表格2.xlsx')
merge
函数将两个DataFrame对象按照姓名进行拼接,并指定on
参数为姓名列的名称:merged_df = pd.merge(df1, df2, on='姓名')
to_excel
函数将合并后的DataFrame对象保存为新的xlsx文件:merged_df.to_excel('合并后的表格.xlsx', index=False)
完整的代码如下所示:
import pandas as pd
df1 = pd.read_excel('表格1.xlsx')
df2 = pd.read_excel('表格2.xlsx')
merged_df = pd.merge(df1, df2, on='姓名')
merged_df.to_excel('合并后的表格.xlsx', index=False)
请确保替换代码中的文件名为你实际使用的文件名,并确保两个表格中姓名列的名称相同。
如果你遇到任何问题,或者没有pandas库,我建议你通过以下方式安装它:
pip install pandas
当然,如果你没有xlsx表格文件或者没有pandas库,我无法提供精确的解决方案。
【相关推荐】
提供参考实例,链接:https://blog.csdn.net/Deng333333555/article/details/126970817
python 用pandas就行
结合GPT给出回答如下请题主参考
要将xlsx表格数据进行拼接,你可以使用Python的pandas库。下面是一段可行的代码:
import pandas as pd
# 读取两个表格
table1 = pd.read_excel("table1.xlsx")
table2 = pd.read_excel("table2.xlsx")
# 将两个表格按照行进行连接
result = pd.concat([table1, table2], axis=0)
# 将结果输出到一个新的xlsx文件中
result.to_excel("result.xlsx", index=False)
这段代码将会将table1和table2两个表格进行纵向拼接,并将结果输出到一个新的result.xlsx文件中,该文件的格式为题目中给出的格式。
import pandas as pd
import glob
# 获取所有要拼接的 Excel 文件的文件名
file_paths = glob.glob('path_to_folder/*.xlsx') # 替换为包含要拼接文件的文件夹路径和文件扩展名
# 创建一个空的 DataFrame,用于存储拼接后的数据
combined_data = pd.DataFrame()
# 循环遍历每个 Excel 文件,将数据拼接到 combined_data 中
for file_path in file_paths:
df = pd.read_excel(file_path) # 读取 Excel 文件数据
combined_data = combined_data.append(df, ignore_index=True) # 拼接数据到 combined_data
# 将拼接后的数据保存为一个新的 Excel 文件
combined_data.to_excel('combined_data.xlsx', index=False) # 替换为你想要保存的文件名和路径
可以使用Python中的pandas库来完成xlsx表格数据的拼接。
以下是一个简单的脚本示例,演示了如何将两个xlsx表格按照行进行拼接,将结果输出到另一个xlsx表格中:
import pandas as pd
# 读取第一个表格
df1 = pd.read_excel('table1.xlsx')
# 读取第二个表格
df2 = pd.read_excel('table2.xlsx')
# 拼接两个表格
df_result = pd.concat([df1, df2], axis=0)
# 将结果导出到新表格
df_result.to_excel('result.xlsx', index=False)
其中,pd.read_excel
函数用于读取xlsx表格数据,pd.concat
函数用于拼接两个表格,axis=0
参数表示按照行拼接,to_excel
函数用于将结果导出到一个新的xlsx表格,index=False
参数表示不导出行标(即表格中的编号)。
你可以根据自己的需求对这个脚本进行修改和优化。