我一直在开发一个搜索 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
我已经检查过名称,这不是拼写错误。 这些文件都在同一个文件夹中,而且它们是那里唯一的文件。
答案 0 :(得分:0)
csv 文件必须有逗号
您的 csv 文件仅显示选项卡...仔细检查 csv 文件中是否有逗号。用逗号替换空格,它必须工作。