如何创建包含 3 个变量的所有组合的 CSV 文件?

问题描述 投票:0回答:1

我有一个连续的年份范围:例如1980-2020.

我有一个位置列表:例如伦敦、巴黎、马德里。

我有一份客户名单:例如史密斯、琼斯、威廉姆斯。

您将使用什么方法创建列出每个组合的 CSV 文件?

例如

在 Windows 11 中,我猜这在 BATCH 文件中可能会很困难,在 Python 中很容易,而在 Perl 中则很聪明。甚至可能在 LibreOffice Calc 中。有什么建议吗?

python perl batch-processing libreoffice-calc
1个回答
0
投票

您可以使用

product
中的
itertools
来枚举所有组合。您可以更改
product
中迭代的顺序,以获得您喜欢的结果。

from itertools import product

import pandas as pd

locations = ["London", "Paris", "Madrid"]
customers = ["Smith", "Jones", "Williams"]
years = list(range(1980, 2020 + 1))


df = pd.DataFrame(
    product(years, locations, customers),
    columns=["Year", "Location", "Customer"],
)
df.set_index("Year", inplace=True)
df.to_csv("data.csv")
© www.soinside.com 2019 - 2024. All rights reserved.