如何将 for 循环结果导出到 CAV 或 Excel with pandas?
How can I export for loop result to CAV or Excel with pandas?
我有一个 for 循环从网站获取数据并想将其导出到 xlsx 或 csv 文件。
通常,当我打印循环结果时,我可以获得所有列表,但是当我将其导出到 xlsx 文件时,只能获得最后一项。哪里有问题可以帮忙?
for item1 in spec:
spec2 = item1.find_all('th')
expl2 = item1.find_all('td')
spec2x = spec2[a].text
expl2x = expl2[a].text
yazim = spec2x + ': ' + expl2x
cumle = yazim
patern = r"(Brand|Series|Model|Operating System|CPU|Screen|MemoryStorage|Graphics Card|Video Memory|Dimensions|Screen Size|Touchscreen|Display Type|Resolution|GPU|Video Memory|Graphic Type|SSD|Bluetooth|USB)"
if re.search(patern, cumle):
speclist = translator.translate(cumle, lang_tgt='tr')
specl = speclist
#print(specl)
import pandas as pd
exp = [{ 'Prospec': specl,},]
df = pd.DataFrame(exp, columns = ['Prospec',])
df.to_excel('output1.xlsx',)
创建一个空列表,并在 for 循环的每次迭代中将数据框附加到列表中。您最终会得到一个数据框列表。循环后,使用 pd.concat() 通过连接列表中的每个元素来创建一个新的数据框。然后,您可以将生成的 df 保存到 excel 文件。
您的代码将如下所示:
import pandas as pd
df_list = []
for item1 in spec:
......
if re.search(patern, cumle):
....
df_list.append(pd.DataFrame(.....))
df = pd.concat(df_list)
df.to_excel(.....)
我有一个 for 循环从网站获取数据并想将其导出到 xlsx 或 csv 文件。 通常,当我打印循环结果时,我可以获得所有列表,但是当我将其导出到 xlsx 文件时,只能获得最后一项。哪里有问题可以帮忙?
for item1 in spec:
spec2 = item1.find_all('th')
expl2 = item1.find_all('td')
spec2x = spec2[a].text
expl2x = expl2[a].text
yazim = spec2x + ': ' + expl2x
cumle = yazim
patern = r"(Brand|Series|Model|Operating System|CPU|Screen|MemoryStorage|Graphics Card|Video Memory|Dimensions|Screen Size|Touchscreen|Display Type|Resolution|GPU|Video Memory|Graphic Type|SSD|Bluetooth|USB)"
if re.search(patern, cumle):
speclist = translator.translate(cumle, lang_tgt='tr')
specl = speclist
#print(specl)
import pandas as pd
exp = [{ 'Prospec': specl,},]
df = pd.DataFrame(exp, columns = ['Prospec',])
df.to_excel('output1.xlsx',)
创建一个空列表,并在 for 循环的每次迭代中将数据框附加到列表中。您最终会得到一个数据框列表。循环后,使用 pd.concat() 通过连接列表中的每个元素来创建一个新的数据框。然后,您可以将生成的 df 保存到 excel 文件。
您的代码将如下所示:
import pandas as pd
df_list = []
for item1 in spec:
......
if re.search(patern, cumle):
....
df_list.append(pd.DataFrame(.....))
df = pd.concat(df_list)
df.to_excel(.....)