如何在 Streamlit 中的一个 DataFrame 中连接多个上传的 csv 文件

How to concat many uploaded csv files in one DataFrame in Streamlit

我制作了一个程序,可以获取 csv 文件并计算平均值。我尝试在 streamlit 中制作界面。 我尝试使用我程序中的解决方案

data = st.file_uploader("Wybierz pliki CSV:",type = 'csv', accept_multiple_files=True)
for file in data:
   Table = pd.read_csv(file, sep=',')
   DF1 = pd.DataFrame(Table)
   DFL = pd.concat([DFL,DF1], sort=False)

当我尝试使用 st.dataframe(DFL) 打印时 我收到此错误:

StreamlitAPIException:(“无法转换 str 类型的‘06028001018’:尝试转换为 int64”,'Conversion failed for column LPROS1 with type object')

有人知道如何拼接吗?

试试这个方法:

data = st.file_uploader("Wybierz pliki CSV:",type = 'csv', 
accept_multiple_files=True)
Table = []
for file in data:
    if file.endswith(".csv"):
         Table.append(pd.read_csv(file)

df = pd.concat(Table, sort=False)

重新检查您的错误消息。

StreamlitAPIException: ("Could not convert '06028001018' with type str: tried to convert to int64", 'Conversion failed for column LPROS1 with type object')

关于LPROS1列的数据类型

StreamlitAPIException: ("Could not convert '06028001018' with type str: tried to convert to int64", 'Conversion failed for column LPROS1 with type object')

这是 streamlit 0.85.0 附带的错误。 pyarrownumpy.dtype 值有问题(df.dtypes returns)。

作为解决方法,您可以将以下行添加到您的代码中

DF2 = DFL.astype(str)
st.dataframe(DFL2)

或从此处尝试其他建议的解决方法

How to fix StreamlitAPIException: ("Expected bytes, got a 'int' object", 'Conversion failed for column FG% with type object')