如果 excel 中的原始格式将所有列合并为一个以 ","分隔的列,如何在阅读 excel 文档时分隔列?



我有一个excel文档,有3列的信息,只有一个用","分隔。我想在pd.read_excel()期间分离列。我试着用usecols,但是没有用。我还想在调用pd.read_excel()时命名列。

输入图片描述

excel中的文本是逗号sep.一种方法是在阅读之前简单地将excel转换为文本。

excel你

a,b,c
0  1,2,3
1  4,5,6

转换为文本&读一遍。

import pandas as pd
with open('file.txt', 'w') as file:
pd.read_excel('file.xlsx').to_string(file, index=False)

df = pd.read_csv("file.txt", sep = ",")
print(df)

打印#

a  b  c
0  1  2  3
1  4  5  6

Pandas提供了一种围绕传递的分隔符/分隔符拆分字符串的方法。之后,字符串可以存储为序列中的列表,也可以用于从单个分隔字符串创建多列数据帧。它的工作原理类似于Python的默认split()方法,但它只能应用于单个字符串。Pandas的str.split()方法可以应用于整个序列。.str必须在每次调用此方法之前加上前缀,以将其与Python的默认函数区分开来,否则它将抛出错误。源

不确定您的.xlsx文件是如何格式化的,但看起来您应该使用pandas.read_csv()代替。链接在这里。

比如pandas.read_csv(filename, sep=',', names=['Name', 'Number', 'Gender'])

最新更新