在已装python的前提下
一、安装依赖库
pip install pandas
pip install openpyxl
安装完后,可以在 Python 中运行以下命令来查看 pandas 或 openpyxl 的安装路径:
import pandas as pd
print(pd.__path__)
import openpyxl
print(openpyxl.__path__)
二、测试脚本
import pandas as pd
# 数据
data = {
'中国电信': {
'上行': {
'3G': ['825-835MHz(计划关闭中)'],
'4G': ['825-835MHz', '1765-1785MHz(主力)', '1920-1940MHz', '2370-2390MHz'],
'5G': ['3300-3400MHz(电信、联通)', '3400-3500MHz(电信、联通)']
},
'下行': {
'3G': ['870-880MHz(计划关闭中)'],
'4G': ['870-880MHz', '1860-1880MHz(主力)', '2110-2130MHz', '2370-2390MHz'],
'5G': ['3300-3400MHz(电信、联通)', '3400-3500MHz(电信、联通)']
}
},
'中国联通': {
'上行': {
'2G': ['904-915MHz', '1735-1765MHz(关闭中)'],
'3G': ['904-915MHz', '1940-1965MHz'],
'4G': ['904-915MHz', '1735-1765MHz(主力)', '1940-1965MHz', '2300-2320MHz(室内)'],
'5G': ['3300-3400MHz(电信、联通、广电)', '3400-3500MHz(电信、联通)', '3500-3600MHz(联通、电信)']
},
'下行': {
'2G': ['949-960MHz', '1830-1860MHz(关闭中)'],
'3G': ['949-960MHz', '2130-2155MHz'],
'4G': ['949-960MHz', '1830-1860MHz(主力)', '2130-2155MHz', '2300-2320MHz(室内)'],
'5G': ['3300-3400MHz(电信、联通、广电)', '3400-3500MHz(电信、联通)', '3500-3600MHz(联通、电信)']
}
},
'中国移动': {
'上行': {
'2G': ['889-904MHz'],
'3G': [],
'4G': ['889-904MHz', '1710-1735MHz', '1885-1915MHz(1880-1885退给电信)', '2010-2025MHz', '2320-2370MHz(室内)', '2615-2675MHz'],
'5G': ['2515-2615MHz', '4800-4900MHz(准备用起来)']
},
'下行': {
'2G': ['934-949MHz'],
'3G': [],
'4G': ['934-949MHz', '1805-1830MHz', '1885-1915MHz(1880-1885退给电信)', '2010-2025MHz', '2320-2370MHz(室内)', '2615-2675MHz'],
'5G': ['2515-2615MHz', '4800-4900MHz(准备用起来)']
}
}
}
# 将数据转换为适合存储在一个 DataFrame 中的格式
rows = []
for company, directions in data.items():
for direction, frequencies in directions.items():
for generation, freq_list in frequencies.items():
for freq in freq_list:
rows.append([company, direction, generation, freq])
# 创建 DataFrame
df = pd.DataFrame(rows, columns=['运营商', '方向', '代际', '频率'])
# 写入 Excel
df.to_excel('frequencies.xlsx', index=False)
print("数据已成功写入 三大运营商频段划分.xlsx")