Files
2026-01-30 11:28:35 +08:00

346 lines
23 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "Length mismatch: Expected axis has 50 elements, new values have 40 elements",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-2-67eca2aa80c8>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 24\u001b[0m \u001b[0mfolder_path\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34mr'C:\\Users\\admin\\Desktop\\工作簿1'\u001b[0m \u001b[1;31m# 替换为你的文件夹路径\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[0moutput_file\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34mr'C:\\Users\\admin\\Desktop\\工作簿11111.xlsx'\u001b[0m \u001b[1;31m# 输出文件名\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 26\u001b[1;33m \u001b[0mmerge_excel_files\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfolder_path\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moutput_file\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m<ipython-input-2-67eca2aa80c8>\u001b[0m in \u001b[0;36mmerge_excel_files\u001b[1;34m(folder_path, output_file)\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[0mtemp_df\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfile_path\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[1;31m# 填充列名\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 17\u001b[1;33m \u001b[0mtemp_df\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 18\u001b[0m \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmerge\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtemp_df\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'outer'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mon\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m__setattr__\u001b[1;34m(self, name, value)\u001b[0m\n\u001b[0;32m 6000\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6001\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 6002\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__setattr__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 6003\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6004\u001b[0m \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pandas\\_libs\\properties.pyx\u001b[0m in \u001b[0;36mpandas._libs.properties.AxisProperty.__set__\u001b[1;34m()\u001b[0m\n",
"\u001b[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m_set_axis\u001b[1;34m(self, axis, labels)\u001b[0m\n\u001b[0;32m 728\u001b[0m \"\"\"\n\u001b[0;32m 729\u001b[0m \u001b[0mlabels\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mensure_index\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlabels\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 730\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_mgr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_axis\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 731\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_clear_item_cache\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 732\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pandas\\core\\internals\\managers.py\u001b[0m in \u001b[0;36mset_axis\u001b[1;34m(self, axis, new_labels)\u001b[0m\n\u001b[0;32m 223\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mset_axis\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mAxisInt\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mIndex\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 224\u001b[0m \u001b[1;31m# Caller is responsible for ensuring we have an Index object.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 225\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_validate_set_axis\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 226\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 227\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pandas\\core\\internals\\base.py\u001b[0m in \u001b[0;36m_validate_set_axis\u001b[1;34m(self, axis, new_labels)\u001b[0m\n\u001b[0;32m 68\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 69\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mnew_len\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0mold_len\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 70\u001b[1;33m raise ValueError(\n\u001b[0m\u001b[0;32m 71\u001b[0m \u001b[1;34mf\"Length mismatch: Expected axis has {old_len} elements, new \"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 72\u001b[0m \u001b[1;34mf\"values have {new_len} elements\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: Length mismatch: Expected axis has 50 elements, new values have 40 elements"
]
}
],
"source": [
"import os\n",
"import pandas as pd\n",
"\n",
"def merge_excel_files(folder_path, output_file):\n",
" # 获取文件夹中所有的xls文件\n",
" files = [f for f in os.listdir(folder_path) if f.endswith('.xls')]\n",
"\n",
" # 读取第一个文件,作为基础数据框\n",
" first_file = os.path.join(folder_path, files[0])\n",
" df = pd.read_excel(first_file)\n",
"\n",
" # 遍历剩余的文件,并将它们的数据框合并到基础数据框中\n",
" for file in files[1:]:\n",
" file_path = os.path.join(folder_path, file)\n",
" temp_df = pd.read_excel(file_path)\n",
" # 填充列名\n",
" temp_df.columns = df.columns\n",
" df = df.merge(temp_df, how='outer', on=list(df.columns))\n",
"\n",
" # 将合并后的数据框写入到一个新的Excel文件中\n",
" df.to_excel(output_file, index=False)\n",
"\n",
"# 使用示例\n",
"folder_path = r'C:\\Users\\admin\\Desktop\\工作簿1' # 替换为你的文件夹路径\n",
"output_file = r'C:\\Users\\admin\\Desktop\\工作簿11111.xlsx' # 输出文件名\n",
"merge_excel_files(folder_path, output_file)\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-4-e8345f508062>:44: UserWarning: Pandas requires version '1.4.3' or newer of 'xlsxwriter' (version '1.3.8' currently installed).\n",
" result.to_excel(r'C:\\Users\\admin\\Desktop\\工作簿22222.xlsx', index=False)\n"
]
}
],
"source": [
"import os\n",
"import pandas as pd\n",
"\n",
"def merge_excel_files(folder_path):\n",
" # 获取文件夹中的所有文件\n",
" files = os.listdir(folder_path)\n",
" \n",
" # 筛选出所有的Excel文件\n",
" excel_files = [file for file in files if file.endswith('.xlsx') or file.endswith('.xls')]\n",
" \n",
" # 初始化一个空的DataFrame用于存储合并后的数据\n",
" merged_data = pd.DataFrame()\n",
" \n",
" # 遍历所有Excel文件\n",
" for file in excel_files:\n",
" file_path = os.path.join(folder_path, file)\n",
" \n",
" # 读取Excel文件\n",
" data = pd.read_excel(file_path)\n",
" \n",
" # 如果合并后的DataFrame为空,则直接将当前数据赋值给它\n",
" if merged_data.empty:\n",
" merged_data = data\n",
" else:\n",
" # 合并数据,保留所有列,如果有重复列名,则在合并时添加后缀以避免冲突\n",
" common_columns = set(merged_data.columns).intersection(data.columns)\n",
" for col in common_columns:\n",
" data.rename(columns={col: col + '_1'}, inplace=True)\n",
" merged_data.rename(columns={col: col + '_2'}, inplace=True)\n",
" \n",
" # 将两个数据集合并在一起\n",
" merged_data = pd.concat([merged_data, data], axis=1)\n",
" \n",
" # 重置索引\n",
" merged_data.reset_index(drop=True, inplace=True)\n",
" \n",
" return merged_data\n",
"\n",
"# 调用函数,传入包含Excel文件的文件夹路径\n",
"folder_path = r'C:\\Users\\admin\\Desktop\\工作簿2' \n",
"result = merge_excel_files(folder_path)\n",
"\n",
"# 保存合并后的数据到新的Excel文件\n",
"result.to_excel(r'C:\\Users\\admin\\Desktop\\工作簿22222.xlsx', index=False)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:\n",
"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\.libs\\libopenblas.EL2C6PLE4ZYW3ECEVIV3OXXGRN2NRFM2.gfortran-win_amd64.dll\n",
"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\.libs\\libopenblas64__v0.3.21-gcc_10_3_0.dll\n",
" warnings.warn(\"loaded more than 1 DLL from .libs:\"\n",
"<ipython-input-1-05ed69f5774b>:25: UserWarning: Pandas requires version '1.4.3' or newer of 'xlsxwriter' (version '1.3.8' currently installed).\n",
" merged_data.to_excel(output_file, index=False)\n"
]
}
],
"source": [
"import os\n",
"import pandas as pd\n",
"\n",
"def merge_excel_files(folder_path, output_file):\n",
" # 获取文件夹中的所有Excel文件\n",
" excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx') or f.endswith('.xls')]\n",
"\n",
" # 初始化一个空的DataFrame用于存储合并后的数据\n",
" merged_data = pd.DataFrame()\n",
"\n",
" # 遍历所有Excel文件\n",
" for file in excel_files:\n",
" file_path = os.path.join(folder_path, file)\n",
" # 读取Excel文件内容\n",
" data = pd.read_excel(file_path)\n",
"\n",
" # 如果merged_data为空,则直接将当前数据赋值给merged_data\n",
" if merged_data.empty:\n",
" merged_data = data\n",
" else:\n",
" # 合并两个表格,对于列名相同的,合并到一列\n",
" merged_data = pd.concat([merged_data, data], axis=0, ignore_index=True)\n",
"\n",
" # 将合并后的数据写入新的Excel文件\n",
" merged_data.to_excel(output_file, index=False)\n",
"\n",
"# 使用示例\n",
"folder_path = r'C:\\Users\\admin\\Desktop\\江苏中标信息\\附表拆分' \n",
"output_file = r'C:\\Users\\admin\\Desktop\\附件汇总-0902.xlsx' # 输出文件名\n",
"merge_excel_files(folder_path, output_file)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Note: you may need to restart the kernel to use updated packages.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Traceback (most recent call last):\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\runpy.py\", line 197, in _run_module_as_main\n",
" return _run_code(code, main_globals, None,\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\runpy.py\", line 87, in _run_code\n",
" exec(code, run_globals)\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\__main__.py\", line 21, in <module>\n",
" from pip._internal.cli.main import main as _main\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\cli\\main.py\", line 8, in <module>\n",
" from pip._internal.cli.autocompletion import autocomplete\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\cli\\autocompletion.py\", line 9, in <module>\n",
" from pip._internal.cli.main_parser import create_main_parser\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\cli\\main_parser.py\", line 7, in <module>\n",
" from pip._internal.cli import cmdoptions\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\cli\\cmdoptions.py\", line 22, in <module>\n",
" from pip._internal.cli.progress_bars import BAR_TYPES\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\cli\\progress_bars.py\", line 9, in <module>\n",
" from pip._internal.utils.logging import get_indentation\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\utils\\logging.py\", line 14, in <module>\n",
" from pip._internal.utils.misc import ensure_dir\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\utils\\misc.py\", line 29, in <module>\n",
" from pip._internal.locations import get_major_minor_version, site_packages, user_site\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\locations\\__init__.py\", line 14, in <module>\n",
" from . import _sysconfig\n",
" File \"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\locations\\_sysconfig.py\", line 7, in <module>\n",
" from pip._internal.exceptions import InvalidSchemeCombination, UserInstallationInvalid\n",
"ImportError: cannot import name 'InvalidSchemeCombination' from 'pip._internal.exceptions' (c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\pip\\_internal\\exceptions.py)\n"
]
}
],
"source": [
"pip install openpyxl"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:\n",
"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\.libs\\libopenblas.EL2C6PLE4ZYW3ECEVIV3OXXGRN2NRFM2.gfortran-win_amd64.dll\n",
"c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\.libs\\libopenblas64__v0.3.21-gcc_10_3_0.dll\n",
" warnings.warn(\"loaded more than 1 DLL from .libs:\"\n"
]
},
{
"data": {
"text/plain": [
"{'version': '5.1.6-r1@1f8eeb2#8e663c5',\n",
" 'code': 0,\n",
" 'msg': 'success',\n",
" 'data': {'id': 271710,\n",
" 'datasetId': 1,\n",
" 'fieldName': 'c1',\n",
" 'appId': 1142,\n",
" 'createdBy': 144,\n",
" 'createdAt': '2024-09-05 09:40:44',\n",
" 'updatedBy': 144,\n",
" 'updatedAt': '2024-09-05 09:40:44',\n",
" 'isMetric': False,\n",
" 'originType': 'integer',\n",
" 'label': '测试2',\n",
" 'type': 'number',\n",
" 'config': {'dialectName': 'MysqlDialect'},\n",
" 'visible': True,\n",
" 'nativeType': 'BIGINT',\n",
" 'hideValue': False,\n",
" 'formula': '-5327531844512980082',\n",
" 'expr': {'kind': 'formula',\n",
" 'op': '-5327531844512980082',\n",
" 'type': 'number',\n",
" 'value': '222222222222222222222222222222222222'},\n",
" 'detectedType': 'integer',\n",
" 'suggestedTypes': ['number', 'string', 'date'],\n",
" 'defaultAggrType': 'sum',\n",
" 'basicType': 'number'},\n",
" 'chartDataStartTimeMillis': 0}"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import requests\n",
"from pprint import pprint\n",
"cookies_str = 'gr_user_id=7c87d03e-506e-4da1-88a9-cdb29122c33f; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2210979894419862155492%22%2C%22first_id%22%3A%221750b696378f-0c7f49ca6d76a6-3d634f03-1327104-1750b6963799e7%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E5%BC%95%E8%8D%90%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fyunxiu.f6car.cn%2F%22%7D%2C%22%24device_id%22%3A%221750b696378f-0c7f49ca6d76a6-3d634f03-1327104-1750b6963799e7%22%7D; sid=e1371e36-dfcd-4574-b565-f555490a417e; csrf=1c2cf922-8784-4d67-bfc6-bf9e4a2ca019; _USER_SESSION_ID=23cbc128-2d76-4acc-8d5d-02d956200f32; pac4jCsrfToken=c7e538c4ac3f442c87433d58f7ce9968'\n",
"\n",
"cookies_str = cookies_str.encode('utf-8').decode('latin-1')\n",
"\n",
"cookie_dict = {item.split('=')[0]: item.split('=')[1]\n",
" for item in cookies_str.split('; ')}\n",
"\n",
"headers = {\n",
" 'accept':'application/json',\n",
" 'accept-encoding':'gzip, deflate, br, zstd',\n",
" 'accept-language':'zh-CN',\n",
" 'content-length':'498',\n",
" 'content-type':'application/json',\n",
" 'cookie':'gr_user_id=7c87d03e-506e-4da1-88a9-cdb29122c33f; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2210979894419862155492%22%2C%22first_id%22%3A%221750b696378f-0c7f49ca6d76a6-3d634f03-1327104-1750b6963799e7%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E5%BC%95%E8%8D%90%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fyunxiu.f6car.cn%2F%22%7D%2C%22%24device_id%22%3A%221750b696378f-0c7f49ca6d76a6-3d634f03-1327104-1750b6963799e7%22%7D; sid=e1371e36-dfcd-4574-b565-f555490a417e; csrf=1c2cf922-8784-4d67-bfc6-bf9e4a2ca019; _USER_SESSION_ID=23cbc128-2d76-4acc-8d5d-02d956200f32; pac4jCsrfToken=c7e538c4ac3f442c87433d58f7ce9968',\n",
" 'origin':'https://insight.f6car.com',\n",
" 'priority':'u=1, i',\n",
" 'referer':'https://insight.f6car.com/datamart/1142/dataset/1/fields',\n",
" 'sec-ch-ua':'\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"',\n",
" 'sec-ch-ua-mobile':'?0',\n",
" 'sec-ch-ua-platform':'\"Windows\"',\n",
" 'sec-fetch-dest':'empty',\n",
" 'sec-fetch-mode':'cors',\n",
" 'sec-fetch-site':'same-origin',\n",
" 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',\n",
" 'x-csrf-token':'1c2cf922-8784-4d67-bfc6-bf9e4a2ca019',\n",
" 'x-request-domain':'https://insight.f6car.com',\n",
" 'x-request-hash-url':'https://insight.f6car.com/datamart/1142/dataset/1/fields',\n",
" 'x-request-proxy':'http://localhost:3003'\n",
"\n",
"}\n",
"\n",
"json1={\n",
" \"options\": {\n",
" \"label\": \"测试2\",\n",
" \"visible\": 'true',\n",
" \"expr\": {\n",
" \"kind\": \"formula\",\n",
" \"op\": \"222222222222222222222222222222222222\",\n",
" \"value\": \"222222222222222222222222222222222222\"\n",
" }\n",
" }\n",
"}\n",
"# request_id = generate_request_id()\n",
"url = 'https://insight.f6car.com/api/apps/1142/datasets/1/fields?01J6ZWYWDSXH08K0Q7C85JPA9K'\n",
"res = requests.post(url,cookies=cookie_dict,headers=headers,json=json1)\n",
"strele = res.json()\n",
"strele"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "F6processing",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}