Python 如何读取.txt文件并与.xlsx合并

Python 如何读取.txt文件并与.xlsx合并,python,pandas,Python,Pandas,我有一个大的myfile.txt(52375 kb,ln 86213,18),如下所示 E.g myfile.txt "Name" "ID" "School" . . "steven" "1212" "harvard" . . "michael" "9898" "stanford" . . .

我有一个大的myfile.txt(52375 kb,ln 86213,18),如下所示

E.g

myfile.txt

  "Name"     "ID"   "School"            .                 .
  "steven"  "1212"  "harvard"          .                 .
  "michael" "9898"  "stanford"         .                 . 
     .      .      .
     .      .      .



In [1]
df1 = pd.read_csv("myfile.txt", sep = "\t", lineterminator = "\n")

Out [1]
           Name     ID  School            .                 .
  steven  1212  harvard          .                 .
  michael 9898  stanford         .                 . 
     .      .      .
     .      .      .

但是,当我想与database.xlsx合并时,它不起作用。它仅显示合并后数据帧的标题

In [2]: df2 = pd.read_excel('Data Base Currency.xlsx')

Out [2]:
ID       status
1212     mechanical engineering
9898     electrical engineering

In [3]: df3 = pd.merge(df1,df2, on = "ID", how = "inner")

**and then my merge statement doesn't work**
Out [3]:
Name     ID  School   status

我的期望

  Name     ID                     School            .                 .
  steven  mechanical engineering  harvard          .                 .
  michael Electrical engineering  stanford         .                 . 
     .      .      .
     .      .      .


可能有不同数据类型的列。 尝试运行此命令并告诉heppens:

df1["ID"] = df1["ID"].astype(int)
df2["ID"] = df2["ID"].astype(int)
df3 = pd.merge(df1,df2, on = "ID", how = "inner")

可能有不同数据类型的列。 尝试运行此命令并告诉heppens:

df1["ID"] = df1["ID"].astype(int)
df2["ID"] = df2["ID"].astype(int)
df3 = pd.merge(df1,df2, on = "ID", how = "inner")

看起来
df1
中的标签可能已关闭一个。
df1[“ID”]
您期望的是什么?@PatrickHaugh my expect df1的格式将与我的行数据相同,但是当我编码
pd.read\u csv(“myfile.txt”,sep=“\t”,lineterminator=“\n”)
名称将移动第一个标签前面是否有
\t
?请尝试将open('myfile.txt')作为f:print(repr(next(f))进行检查。@PatrickHaugh是的,先生,标签后面有一个
\t
,例如
'“NAME”\t“ID”\t“
两个df中ID的数据类型是否相同?看起来
df1
中的标签可能会被关闭一个。是否
df1[“ID”]
你期望什么?@PatrickHaugh my expect df1的格式将与我的行数据相同,但是当我编码
pd.read_csv(“myfile.txt”,sep=“\t”,lineterminator=“\n”)
名称将移动第一个标签前面是否有
\t
的标签?尝试
打开('myfile.txt')作为f:print打印(repr(next(f)))
检查。@PatrickHaugh是的,先生,标签后面有一个
\t
,例如
““NAME”\t“ID”\t”
两个df中ID的数据类型是否相同?在我的数据框上,我收到警告:列(5,6,8,10,11)的类型混合。问题是列数从0或1开始?请使用df.iloc[:,[您的列数]]按顺序选择它们````d类型警告:列(5,6,8,10,11)具有混合类型。在导入时指定dtype选项或将低内存设置为False。交互性=交互性,编译器=编译器,结果=结果)```如何解决此问题?通常,这意味着f.e.[2,3,4']列中有字符串和数字,因此应将其转换为相同的类型。这可以在加载时和加载后完成。在我的数据帧上,我收到警告:列(5,6,8,10,11)的类型混合。问题是列数从0或1开始?请使用df.iloc[:,[您的列数]]按顺序选择它们````d类型警告:列(5,6,8,10,11)具有混合类型。在导入时指定dtype选项或将低内存设置为False。交互性=交互性,编译器=编译器,结果=结果)```如何解决此问题?通常,这意味着f.e.[2,3,4']列中有字符串和数字,因此应将其转换为相同的类型。这可以在加载时和加载后进行。