我有一个 Excel (.xlsx) 文件,其中包含两列短语。例如:
John I have a dog
Mike I need a cat
Nick I go to school
Run Code Online (Sandbox Code Playgroud)
我想在 Python 中导入它并获得一个元组列表,如:
[('John', 'I have a dog'), ('Mike', 'I need a cat'), ('Nick', 'I go to school'), ...]
Run Code Online (Sandbox Code Playgroud)
我能做什么?
您可以使用pd.read_excel. 您需要关心标题是否有一些。
正如你所说,它返回一个数据帧。就我而言,我有以下几点。
df = pd.read_excel("data.xlsx")
print(df)
# name message
# 0 John I have a dog
# 1 Mike I need a cat
# 2 Nick I go to school
Run Code Online (Sandbox Code Playgroud)
然后,可以使用to_numpy. 它返回一个numpy数组。
如果你想要一个列表,我们使用该numpy方法tolist将其转换为list:
out = df.to_numpy().tolist()
print(out)
# [['John', 'I have a dog'],
# ['Mike', 'I need a cat'],
# ['Nick', 'I go to school']]
Run Code Online (Sandbox Code Playgroud)
如您所见,输出是一个列表列表。如果你想要一个元组列表,只需投射它们:
# for getting list of tuples
out = [tuple(elt) for elt in out]
print(out)
# [('John', 'I have a dog'),
# ('Mike', 'I need a cat'),
# ('Nick', 'I go to school')]
Run Code Online (Sandbox Code Playgroud)
注意:旧的解决方案是调用values而不是to_numpy(). 但是,文档明确建议使用to_numpy和宽恕values。
希望有帮助!
| 归档时间: |
|
| 查看次数: |
1273 次 |
| 最近记录: |