pandas向表格中循環寫入多行數據
import pandas as pd
def list_topic(total_num, str1):
"""
生成多個主題
:param total_num: 總的主題數量
:param str1: 主題名稱中的固定字母,如A1,A2,A3,A4....
:return: 返回主題列表
"""
list_topic = []
num = 1
for j in range(total_num):
topic_name = str1 + str(num)
list_topic.append(topic_name)
num += 1
return list_topic
def dir_name(dir_num, str1):
"""
生成多個主題
:param total_num: 總的主題數量
:param str1: 目錄名稱中的固定字母,如A1,A2,A3,A4....
:return: 返回目錄列表
"""
list_dir = []
num = 1
for j in range(dir_num):
topic_name = str1 + str(num)
list_dir.append(topic_name)
if j != 0:
# 每隔100,對目錄加1,比如第1個100,目錄名都為A1,第2個100,目錄名都為A2
if j % 100 == 0:
num += 1
return list_dir
# print(dir_name(200, "A"))
if __name__ == "__main__":
all_dir = dir_name(1000, "目錄")
all_topic = list_topic(1000, "topic")
data = {"目錄": all_dir, "主題": all_topic}
df = pd.DataFrame(data)
df.to_excel("ECHAT TOPIC 3.xlsx", sheet_name="對話主題", index=False, header=True)
效果如圖:

生成具有層級關系的字符串
import pandas as pd
def dir_name(dir_num, str1):
"""
生成多個具有層級關系的目錄
:param total_num: 總的目錄數量
:param str1: 目錄名稱中的固定字母,如A1,A2,A3,A4....
:return: 返回目錄列表
"""
list_dir = []
num = 1
topic_name = str1 + str(num)
for j in range(1, dir_num):
topic_name = str1 + str(num)
list_dir.append(topic_name)
if j % 100 == 0:
num += 1
# 每達到100,目錄名自增1,並且把當前目錄和列表中最后一個目錄拼接起來,如目錄1>目錄1
topic_name = ">".join([list_dir[-1], topic_name])
for sub_dir in range(100):
# 每達到100后,之后的100個目錄都是新的具有層級關系的目錄
list_dir.append(topic_name)
return list_dir
print(dir_name(401, "目錄"))
print(len(dir_name(401, "目錄")))
# str_list = ['Hello','wordl']
# str_join1 = ''.join(str_list)
# str_join2 = '>'.join(str_list)
# print(str_join1)
# print(str_join2)
效果如果:

