我有一个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'])