为什么找不到带有熊猫的 csv 文件?

时间:2021-01-16 18:28:46

标签: python pandas csv

我一直在开发一个搜索 csv 文件的程序,它在 Visual Studio 代码和 cmd 中运行良好,但在我使用标准 python(64 位)时不起作用

这是我的代码

import csv
import pandas

df = pandas.read_csv("elementsList.csv")

# mapping between search options and columns in the DataFrame
d = {
    'atomic symbol': 'atSym',
    'atomic number': 'atNum',
    'atomic weight': 'atWeight',
    'english name': 'ENname',
    'dutch name': 'NLname',
}

while True:
    # Search Options
    print("Search options: ")
    print("Search by Atomic Symbol")
    print("Search by Atomic Number")
    print("Search by Atomic Weight")
    print("Search by English Name")
    print("Search by Dutch Name")

    # get search option and select the right column to search on
    # we're converting the column to lowercase strings, so that
    # we can conveniently find it later
    searchOption = input("Search option: ").lower()
    df_ix = df[d[searchOption]].astype(str).str.lower()
    
    # get value to search for, convert to lowercase and find row
    searchValue = input("Search query: ").lower()
    row = df[df_ix==searchValue]
    
    # rename columns to human-readable based on our mapping and print
    print("==========================================================================")
    print(row.rename(columns={v: k for k, v in d.items()}))
    print("==========================================================================")

这是我的 csv 文件示例

H   1   1.008   hydrogen    waterstof
He  2   4.0026  helium  helium
Li  3   6.94    lithium lithium
Be  4   9.0122  beryllium   beryllium
B   5   10.81   boron   boor
C   6   12.011  carbon  koolstof
N   7   14.007  nitrogen    stikstof
O   8   15.999  oxigen  zuurstof
F   9   18.998  fluorine    fluor
Ne  10  20.180  neon    neon
Na  11  22.990  sodium  natrium
Mg  12  24.305  magnesium   magnesium
Al  13  26.982  aluminium   aluminium
Si  14  28.085  silicon silicium
P   15  30.974  phosphorus  fosfor
S   16  32.06   sulfur  zwavel
Cl  17  35.45   chlorine    chloor
Ar  18  39.948  argon   argon
K   19  39.098  potassium   kalium
Ca  20  40.078  calcium calcium
Sc  21  44.956  scandium    scandium
Ti  22  47.867  titanium    titanium
V   23  50.942  vanadium    vanadium
Cr  24  51.996  chromium    chroom
Mn  25  54.938  manganese   mangaan
Fe  26  55.845  iron    ijzer
Co  27  58.933  cobalt  kobalt
Ni  28  58.693  nickel  nikkel
Cu  29  63.546  copper  koper
Zn  30  65.38   zinc    zink

我已经检查过名称,这不是拼写错误。 这些文件都在同一个文件夹中,而且它们是那里唯一的文件。

1 个答案:

答案 0 :(得分:0)

csv 文件必须有逗号

您的 csv 文件仅显示选项卡...仔细检查 csv 文件中是否有逗号。用逗号替换空格,它必须工作。